Esempio n. 1
0
        public void InsertNoteHistory(string ticketId, bool sendEmail, string emailSubject, string noteDetail, List <string> emailList, string createBy)
        {
            try
            {
                kkslm_prepare_email email = null;
                string     emailTemplate  = "";
                DateTime   createDate     = DateTime.Now;
                kkslm_note note           = new kkslm_note();
                note.slm_TicketId           = ticketId;
                note.slm_NoteDetail         = noteDetail;
                note.slm_CreateBy           = createBy;
                note.slm_CreatedBy_Position = GetPositionId(createBy);
                note.slm_CreateDate         = createDate;
                note.slm_SendEmailFlag      = sendEmail;

                if (sendEmail)
                {
                    note.slm_EmailSubject = emailSubject;
                    OwnerDelegateEmailData data = GetOwnerOrDelegateEmail(ticketId);
                    if (data != null)
                    {
                        if (data.Owner != null && !string.IsNullOrEmpty(data.OwnerEmail))
                        {
                            emailTemplate          = GetEmailTemplate(ticketId, noteDetail);
                            email                  = new kkslm_prepare_email();
                            email.slm_EmailAddress = data.OwnerEmail;
                            email.slm_EmailContent = emailTemplate;
                            email.slm_EmailSubject = emailSubject;
                            email.slm_EmailSender  = createBy;
                            email.slm_ticketId     = ticketId;
                            email.slm_ExportStatus = "0";
                            email.is_Deleted       = 0;
                            email.slm_CreatedBy    = createBy;
                            email.slm_CreatedDate  = createDate;
                            slmdb.kkslm_prepare_email.AddObject(email);
                        }
                        if (data.Delegate != null && !string.IsNullOrEmpty(data.DelegateEmail))
                        {
                            email = new kkslm_prepare_email();
                            email.slm_EmailAddress = data.DelegateEmail;
                            if (emailTemplate == "")
                            {
                                emailTemplate = GetEmailTemplate(ticketId, noteDetail);
                            }
                            email.slm_EmailContent = emailTemplate;
                            email.slm_EmailSubject = emailSubject;
                            email.slm_EmailSender  = createBy;
                            email.slm_ticketId     = ticketId;
                            email.slm_ExportStatus = "0";
                            email.is_Deleted       = 0;
                            email.slm_CreatedBy    = createBy;
                            email.slm_CreatedDate  = createDate;
                            slmdb.kkslm_prepare_email.AddObject(email);
                        }
                    }

                    foreach (string email_address in emailList)
                    {
                        kkslm_prepare_email prepare_eamil = new kkslm_prepare_email();
                        prepare_eamil.slm_EmailAddress = email_address;
                        if (emailTemplate == "")
                        {
                            emailTemplate = GetEmailTemplate(ticketId, noteDetail);
                        }
                        prepare_eamil.slm_EmailContent = emailTemplate;
                        prepare_eamil.slm_EmailSubject = emailSubject;
                        prepare_eamil.slm_EmailSender  = createBy;
                        prepare_eamil.slm_ticketId     = ticketId;
                        prepare_eamil.slm_ExportStatus = "0";
                        prepare_eamil.is_Deleted       = 0;
                        prepare_eamil.slm_CreatedBy    = createBy;
                        prepare_eamil.slm_CreatedDate  = createDate;
                        slmdb.kkslm_prepare_email.AddObject(prepare_eamil);
                    }
                }

                slmdb.kkslm_note.AddObject(note);

                var lead = slmdb.kkslm_tr_lead.Where(p => p.slm_ticketId == ticketId).FirstOrDefault();
                if (lead != null)
                {
                    lead.slm_NoteFlag    = "1";
                    lead.slm_UpdatedBy   = createBy;
                    lead.slm_UpdatedDate = createDate;
                }

                KKSlmTrHistoryModel.InsertHistory(slmdb, ticketId, SLMConstant.HistoryTypeCode.InsertNote, "", "", createBy, createDate);

                slmdb.SaveChanges();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 2
0
        public static void InsertNoteHistory(string ticketId, bool sendEmail, string emailSubject, string noteDetail, List <string> emailList, string createBy)
        {
            try
            {
                SLMDBEntities slmdb = new SLMDBEntities();

                kkcoc_prepare_email email = null;
                string   emailTemplate    = "";
                DateTime createDate       = DateTime.Now;

                kkslm_note note = new kkslm_note();
                note.slm_TicketId           = ticketId;
                note.slm_NoteDetail         = noteDetail;
                note.slm_CreateBy           = createBy;
                note.slm_CreatedBy_Position = KKSlmMsStaffDal.GetPositionId(createBy);
                note.slm_CreateDate         = createDate;
                note.slm_SendEmailFlag      = sendEmail;

                if (sendEmail)
                {
                    note.slm_EmailSubject = emailSubject;
                    OwnerDelegateEmailData data = GetOwnerOrDelegateEmail(slmdb, ticketId);
                    if (data != null)
                    {
                        if (data.Owner != null && !string.IsNullOrEmpty(data.OwnerEmail))
                        {
                            emailTemplate          = GetEmailTemplate(slmdb, ticketId, noteDetail);
                            email                  = new kkcoc_prepare_email();
                            email.coc_EmailAddress = data.OwnerEmail;
                            email.coc_EmailContent = emailTemplate;
                            email.coc_EmailSubject = emailSubject;
                            email.coc_EmailSender  = createBy;
                            email.coc_ticketId     = ticketId;
                            email.coc_ExportStatus = "0";
                            email.is_Deleted       = 0;
                            email.coc_CreatedBy    = createBy;
                            email.coc_CreatedDate  = createDate;
                            slmdb.kkcoc_prepare_email.AddObject(email);
                        }
                        if (data.Delegate != null && !string.IsNullOrEmpty(data.DelegateEmail))
                        {
                            email = new kkcoc_prepare_email();
                            email.coc_EmailAddress = data.DelegateEmail;
                            if (emailTemplate == "")
                            {
                                emailTemplate = GetEmailTemplate(slmdb, ticketId, noteDetail);
                            }
                            email.coc_EmailContent = emailTemplate;
                            email.coc_EmailSubject = emailSubject;
                            email.coc_EmailSender  = createBy;
                            email.coc_ticketId     = ticketId;
                            email.coc_ExportStatus = "0";
                            email.is_Deleted       = 0;
                            email.coc_CreatedBy    = createBy;
                            email.coc_CreatedDate  = createDate;
                            slmdb.kkcoc_prepare_email.AddObject(email);
                        }
                        if (data.MarketingOwner != null && !string.IsNullOrEmpty(data.MarketingOwnerEmail))
                        {
                            email = new kkcoc_prepare_email();
                            email.coc_EmailAddress = data.MarketingOwnerEmail;
                            if (emailTemplate == "")
                            {
                                emailTemplate = GetEmailTemplate(slmdb, ticketId, noteDetail);
                            }
                            email.coc_EmailContent = emailTemplate;
                            email.coc_EmailSubject = emailSubject;
                            email.coc_EmailSender  = createBy;
                            email.coc_ticketId     = ticketId;
                            email.coc_ExportStatus = "0";
                            email.is_Deleted       = 0;
                            email.coc_CreatedBy    = createBy;
                            email.coc_CreatedDate  = createDate;
                            slmdb.kkcoc_prepare_email.AddObject(email);
                        }
                        if (data.LastOwner != null && !string.IsNullOrEmpty(data.LastOwnerEmail))
                        {
                            string flag = ConfigurationManager.AppSettings["SendEmailLastOwner"];
                            if (flag == null || flag.Trim().ToUpper() == "Y")
                            {
                                email = new kkcoc_prepare_email();
                                email.coc_EmailAddress = data.LastOwnerEmail;
                                if (emailTemplate == "")
                                {
                                    emailTemplate = GetEmailTemplate(slmdb, ticketId, noteDetail);
                                }
                                email.coc_EmailContent = emailTemplate;
                                email.coc_EmailSubject = emailSubject;
                                email.coc_EmailSender  = createBy;
                                email.coc_ticketId     = ticketId;
                                email.coc_ExportStatus = "0";
                                email.is_Deleted       = 0;
                                email.coc_CreatedBy    = createBy;
                                email.coc_CreatedDate  = createDate;
                                slmdb.kkcoc_prepare_email.AddObject(email);
                            }
                        }
                    }

                    if (emailList != null)
                    {
                        foreach (string email_address in emailList)
                        {
                            kkcoc_prepare_email prepare_eamil = new kkcoc_prepare_email();
                            prepare_eamil.coc_EmailAddress = email_address;
                            if (emailTemplate == "")
                            {
                                emailTemplate = GetEmailTemplate(slmdb, ticketId, noteDetail);
                            }
                            prepare_eamil.coc_EmailContent = emailTemplate;
                            prepare_eamil.coc_EmailSubject = emailSubject;
                            prepare_eamil.coc_EmailSender  = createBy;
                            prepare_eamil.coc_ticketId     = ticketId;
                            prepare_eamil.coc_ExportStatus = "0";
                            prepare_eamil.is_Deleted       = 0;
                            prepare_eamil.coc_CreatedBy    = createBy;
                            prepare_eamil.coc_CreatedDate  = createDate;
                            slmdb.kkcoc_prepare_email.AddObject(prepare_eamil);
                        }
                    }
                }

                slmdb.kkslm_note.AddObject(note);

                var lead = slmdb.kkslm_tr_lead.Where(p => p.slm_ticketId == ticketId).FirstOrDefault();
                if (lead != null)
                {
                    lead.slm_NoteFlag    = "1";
                    lead.slm_UpdatedBy   = createBy;
                    lead.slm_UpdatedDate = createDate;
                }

                slmdb.SaveChanges();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }