try {
int i = 0;
Log(string.Format("Toplantı Tutanakları Alt Akış Başlatma Makrosu çalışmaya başladı. WorkflowID: {0}, WorkitemID: {1}", WorkflowId, WorkItemId));
LoadObject();
LoadAttachment();
if (AttachmentData == null) {
Log("Dosya kartı eklentisi yok.");
return false;
}
System.Collections.IList users = (System.Collections.IList) FormData.Get("TOPLANTI_NOTLARI");
List<string> members = new List<string>();
foreach (ITypes row in users) {
string mUser = (string) row.Get("SORUMLU");
var q = members.Where(z =>z.Equals(mUser)).FirstOrDefault();
if (q == null)
members.Add(mUser);
if (!string.IsNullOrEmpty(mUser)) {
//Alt akışı oluşturmak için yazıldı.
//Process tablosundan gerekli datalar toplandı.
ContentServer.rProcessInfo[] processes = Server.productivity.rWorkflow.GetProcesses(2).Items;
ContentServer.rProcessInfo prc = processes.FirstOrDefault(p => p.ProcessName == "GOREV_YONETIM_SURECI");
string wfName = "Görev Yönetim Süreci";
a_Workflow flwData = new a_Workflow();
flwData.WorkflowName = wfName;
flwData.WorkflowDesc = string.Empty;
flwData.ProcessId = new ObjectID(prc.ProcessId);
flwData.AclId = new ObjectID(prc.AclId);
flwData.WorkflowId = new ObjectID(string.Empty);
flwData.FormName = new ObjectName(prc.FormName);
flwData.FormVersion = "1";
flwData.TypeName = new ObjectName(prc.ObjectType);
flwData.Version = string.Empty;
flwData.Owner = mUser;
flwData.State = WORKFLOWState.Init;
flwData.CreateDate = DateTime.Now;
flwData.AttachmentId = new ObjectID(AttachmentId);
ITypes fObject = Server.productivity.rDocument.getDocument(new ObjectID(string.Empty), prc.ObjectType);
fObject.Set("FORM_NAME", flwData.FormName.ToString());
fObject.Set("FORM_VERSION", flwData.FormVersion);
fObject.Set("OBJECT_NAME", flwData.WorkflowName.ToString());
fObject.Set("ACL_ID", flwData.AclId.ToString());
fObject.Set("OWNER", flwData.Owner);
fObject.Set("FOLDER_ID", DefaultObjects.WorkflowDir);
fObject.Set("OBJECT_TYPE", flwData.TypeName.ToString());
fObject.Set("CONTENT_TYPE", Definitions.CONTENT_TYPE_FLOW);
fObject.Set("VIRTUAL_DOC_ID", string.Empty);
fObject.Set("IS_FTS", true);
fObject.Set("IS_VIRTUAL_DOC", false);
fObject.Set("IS_LAST_VERSION", true);
//Formdaki alanları doldurmak için yazıldı.
fObject.Set("ADI_SOYADI", (string) FormData.Get("ADI_SOYADI"));
fObject.Set("DEPARTMAN", (string) FormData.Get("DEPARTMAN"));
fObject.Set("UST_AKIS_KARAR", (string) FormData.Get("UST_AKIS_KARAR"));
fObject.Set("TOPLANTI_KONUSU", (string) FormData.Get("TOPLANTI_KONUSU"));
fObject.Set("TOPLANTI_YERI", (string) FormData.Get("TOPLANTI_YERI"));
DateTime? tarih = FormData.Get("TOPLANTI_TARIHI") as DateTime? ;
if (tarih != null)
fObject.Set("TOPLANTI_TARIHI", tarih.Value);
//fObject.Set("AKSIYON", (string) FormData.getRepAttribute("TOPLANTI_NOTLARI", "TOPLANTI_NOTU", i));
//fObject.Set("SORUMLU", (string) FormData.getRepAttribute("TOPLANTI_NOTLARI", "SORUMLU", i));
//fObject.Set("TERMIN_ZAMANI", FormData.getRepAttribute("TOPLANTI_NOTLARI", "TERMIN_ZAMANI", i));
//fObject.Set("TERMIN_ZAMANI", row.Get("TERMIN_ZAMANI"));
fObject.Set("AKSIYON", (string)row.Get("TOPLANTI_NOTU"));
fObject.Set("SORUMLU", (string)row.Get("SORUMLU"));
fObject.Set("GOREV_ATAYAN", (string)row.Get("GOREV_TALEP_EDEN"));
DateTime? termintarih = row.Get("TERMIN_ZAMANI")as DateTime? ;
if (termintarih != null)
{
fObject.Set("TERMIN_ZAMANI", termintarih.Value);
}
else
{
DateTime? yenitermintarih=DateTime.Now;
fObject.Set("TERMIN_ZAMANI", yenitermintarih.Value.AddDays(1));
}
flwData.FormData = fObject;
flwData.ContentType = WorkItemContentTYPE.NoContent;
a_GenericResult gr = Server.productivity.rWorkflow.CreateWorkflow(flwData, "F");
Log("WFID :" + gr.Result);
i++;
}
}
Log("Toplantı Tutanakları Alt Akış Başlatma Makrosu bitti.");
SaveObject();
SaveAttachment();
}
catch (Exception ex) {
Log("Makro çalışırken hata oluştu. Hata: " + ex.Message);
return false;
}
No comment