Пример #1
0
        private void CheckPhoneCallHistory(SLMDBEntities slmdb, kkslm_tr_lead lead, ExtSystemCurrentStatusData data)
        {
            try
            {
                if (!string.IsNullOrEmpty(data.StatusDesc))
                {
                    if (data.StatusDesc.Trim().Length > 4000)
                    {
                        throw new Exception("Field kkslm_ext_StatusDesc exceeds 4000 character limitation");
                    }

                    kkslm_phone_call pc = new kkslm_phone_call()
                    {
                        slm_TicketId           = lead.slm_ticketId,
                        slm_ContactDetail      = data.StatusDesc.Trim(),
                        slm_CreateBy           = "SYSTEM",
                        slm_CreatedBy_Position = null,
                        slm_CreateDate         = DateTime.Now,
                        slm_Status             = lead.slm_Status,
                        slm_Owner          = lead.slm_Owner,
                        slm_Owner_Position = lead.slm_Owner_Position,
                        slm_ContactPhone   = null,
                        is_Deleted         = 0
                    };
                    slmdb.kkslm_phone_call.AddObject(pc);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
        public void InsertPhoneCallHistory(string ticketId, string cardType, string cardId, string leadStatusCode, string oldstatus, string ownerBranch, string owner, string oldOwner, string delegateLeadBranch, string delegateLead, string oldDelegateLead, string contactPhone, string contactDetail, string createBy)
        {
            try
            {
                kkslm_tr_lead lead                = null;
                DateTime      createDate          = DateTime.Now;
                int?          createdByPositionId = null;
                int?          ownerPositionId     = null;

                var cusinfo = slmdb.kkslm_tr_cusinfo.Where(p => p.slm_TicketId == ticketId).FirstOrDefault();
                if (cusinfo != null)
                {
                    if (cardType != "")
                    {
                        cusinfo.slm_CardType = int.Parse(cardType);
                    }
                    else
                    {
                        cusinfo.slm_CardType = null;
                    }

                    string oldCitizenId = string.IsNullOrEmpty(cusinfo.slm_CitizenId) ? null : cusinfo.slm_CitizenId;
                    cusinfo.slm_CitizenId = cardId != "" ? cardId : null;

                    if (oldCitizenId != cusinfo.slm_CitizenId)
                    {
                        KKSlmTrHistoryModel.InsertHistory(slmdb, ticketId, SLMConstant.HistoryTypeCode.UpdateCardId, oldCitizenId, cusinfo.slm_CitizenId, createBy, createDate);
                    }
                }

                kkslm_phone_call phone = new kkslm_phone_call();
                phone.slm_TicketId           = ticketId;
                phone.slm_ContactPhone       = contactPhone;
                phone.slm_ContactDetail      = contactDetail;
                phone.slm_Status             = leadStatusCode;
                phone.slm_Owner              = owner;
                ownerPositionId              = GetPositionId(owner);
                phone.slm_Owner_Position     = ownerPositionId;
                phone.slm_CreateDate         = createDate;
                phone.slm_CreateBy           = createBy;
                createdByPositionId          = GetPositionId(createBy);
                phone.slm_CreatedBy_Position = createdByPositionId;
                phone.is_Deleted             = 0;
                slmdb.kkslm_phone_call.AddObject(phone);

                if (lead == null)
                {
                    lead = slmdb.kkslm_tr_lead.Where(p => p.slm_ticketId == ticketId).FirstOrDefault();
                }

                if (leadStatusCode != oldstatus)
                {
                    kkslm_tr_activity activity = new kkslm_tr_activity();
                    activity.slm_TicketId           = ticketId;
                    activity.slm_OldStatus          = oldstatus;
                    activity.slm_NewStatus          = leadStatusCode;
                    activity.slm_CreatedBy          = createBy;
                    activity.slm_CreatedBy_Position = createdByPositionId;
                    activity.slm_CreatedDate        = createDate;
                    activity.slm_Type           = SLMConstant.ActionType.ChangeStatus;       //02
                    activity.slm_SystemAction   = SLMConstant.SystemName;                    //System ที่เข้ามาทำ action (19/03/2015)
                    activity.slm_SystemActionBy = SLMConstant.SystemName;                    //action เกิดขึ้นที่ระบบอะไร (19/03/2015)

                    activity.slm_ExternalSystem_Old        = lead.slm_ExternalSystem;        //add 14/10/2015
                    activity.slm_ExternalStatus_Old        = lead.slm_ExternalStatus;        //add 14/10/2015
                    activity.slm_ExternalSubStatus_Old     = lead.slm_ExternalSubStatus;     //add 14/10/2015
                    activity.slm_ExternalSubStatusDesc_Old = lead.slm_ExternalSubStatusDesc; //add 14/10/2015

                    lead.slm_ExternalSystem        = null;                                   //add 14/10/2015
                    lead.slm_ExternalStatus        = null;                                   //add 14/10/2015
                    lead.slm_ExternalSubStatus     = null;                                   //add 14/10/2015
                    lead.slm_ExternalSubStatusDesc = null;                                   //add 14/10/2015

                    slmdb.kkslm_tr_activity.AddObject(activity);

                    if (lead == null)
                    {
                        lead = slmdb.kkslm_tr_lead.Where(p => p.slm_ticketId == ticketId).FirstOrDefault();
                    }

                    if (lead != null)
                    {
                        lead.slm_Status      = leadStatusCode;
                        lead.slm_StatusBy    = createBy;
                        lead.slm_StatusDate  = createDate;
                        lead.slm_Counting    = 0;
                        lead.slm_UpdatedBy   = createBy;
                        lead.slm_UpdatedDate = createDate;
                    }

                    KKSlmTrHistoryModel.InsertHistory(slmdb, ticketId, SLMConstant.HistoryTypeCode.UpdateStatus, oldstatus, leadStatusCode, createBy, createDate);
                }

                if (owner != oldOwner)
                {
                    kkslm_tr_activity activity = new kkslm_tr_activity();
                    activity.slm_TicketId = ticketId;
                    if (!string.IsNullOrEmpty(oldOwner))
                    {
                        activity.slm_OldOwner          = oldOwner;
                        activity.slm_OldOwner_Position = GetPositionId(oldOwner);
                    }
                    activity.slm_NewOwner           = owner;
                    activity.slm_NewOwner_Position  = ownerPositionId;
                    activity.slm_CreatedBy          = createBy;
                    activity.slm_CreatedBy_Position = createdByPositionId;
                    activity.slm_CreatedDate        = createDate;
                    activity.slm_Type           = SLMConstant.ActionType.ChangeOwner;
                    activity.slm_SystemAction   = SLMConstant.SystemName;      //System ที่เข้ามาทำ action (19/03/2015)
                    activity.slm_SystemActionBy = SLMConstant.SystemName;      //action เกิดขึ้นที่ระบบอะไร (19/03/2015)
                    slmdb.kkslm_tr_activity.AddObject(activity);

                    if (lead == null)
                    {
                        lead = slmdb.kkslm_tr_lead.Where(p => p.slm_ticketId == ticketId).FirstOrDefault();
                    }

                    if (lead != null)
                    {
                        lead.slm_StaffId        = slmdb.kkslm_ms_staff.Where(p => p.slm_UserName == owner).Select(p => p.slm_StaffId).FirstOrDefault();
                        lead.slm_Owner          = owner;
                        lead.slm_Owner_Branch   = ownerBranch;
                        lead.slm_Owner_Position = ownerPositionId;
                        lead.slm_AssignedFlag   = "0";
                        lead.slm_AssignedDate   = null;
                        lead.slm_AssignedBy     = null;
                        lead.slm_OldOwner       = oldOwner;
                    }

                    KKSlmTrHistoryModel.InsertHistory(slmdb, ticketId, SLMConstant.HistoryTypeCode.UpdateOwner, oldOwner, owner, createBy, createDate);
                }

                if (delegateLead != oldDelegateLead)
                {
                    kkslm_tr_activity activity = new kkslm_tr_activity();
                    activity.slm_TicketId = ticketId;
                    if (!string.IsNullOrEmpty(oldDelegateLead))
                    {
                        activity.slm_OldDelegate          = oldDelegateLead;
                        activity.slm_OldDelegate_Position = GetPositionId(oldDelegateLead);
                    }
                    activity.slm_NewDelegate          = delegateLead;
                    activity.slm_NewDelegate_Position = GetPositionId(delegateLead);
                    activity.slm_CreatedBy            = createBy;
                    activity.slm_CreatedBy_Position   = createdByPositionId;
                    activity.slm_CreatedDate          = createDate;
                    activity.slm_Type           = SLMConstant.ActionType.Delegate;
                    activity.slm_SystemAction   = SLMConstant.SystemName;      //System ที่เข้ามาทำ action (19/03/2015)
                    activity.slm_SystemActionBy = SLMConstant.SystemName;      //action เกิดขึ้นที่ระบบอะไร (19/03/2015)
                    slmdb.kkslm_tr_activity.AddObject(activity);

                    if (lead == null)
                    {
                        lead = slmdb.kkslm_tr_lead.Where(p => p.slm_ticketId == ticketId).FirstOrDefault();
                    }

                    if (lead != null)
                    {
                        lead.slm_Delegate_Flag = string.IsNullOrEmpty(delegateLead) ? 0 : 1;
                        if (!string.IsNullOrEmpty(delegateLead))
                        {
                            lead.slm_DelegateDate = createDate;
                        }
                        else
                        {
                            lead.slm_DelegateDate = null;
                        }

                        lead.slm_Delegate          = string.IsNullOrEmpty(delegateLead) ? null : delegateLead;
                        lead.slm_Delegate_Branch   = string.IsNullOrEmpty(delegateLead) ? null : delegateLeadBranch;
                        lead.slm_Delegate_Position = string.IsNullOrEmpty(delegateLead) ? null : GetPositionId(delegateLead);
                    }

                    KKSlmTrHistoryModel.InsertHistory(slmdb, ticketId, SLMConstant.HistoryTypeCode.UpdateDelegate, oldDelegateLead, delegateLead, createBy, createDate);
                }

                slmdb.SaveChanges();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #3
0
        private kkslm_phone_call InsertPhonecallHistory(SLMDBEntities slmdb, string ticketId, DateTime createdDate, LeadDataForCARLogService data)
        {
            try
            {
                string content = "";
                string policyStartCoverDate = "";
                string policyEndCoverDate   = "";
                string actStartCoverDate    = "";
                string actEndCoverDate      = "";

                if (data.PolicyStartCoverDate != null)
                {
                    policyStartCoverDate = data.PolicyStartCoverDate.Value.ToString("dd-MM-") + data.PolicyStartCoverDate.Value.Year.ToString();
                }
                if (data.PolicyEndCoverDate != null)
                {
                    policyEndCoverDate = data.PolicyEndCoverDate.Value.ToString("dd-MM-") + data.PolicyEndCoverDate.Value.Year.ToString();
                }
                if (data.ActStartCoverDate != null)
                {
                    actStartCoverDate = data.ActStartCoverDate.Value.ToString("dd-MM-") + data.ActStartCoverDate.Value.Year.ToString();
                }
                if (data.ActEndCoverDate != null)
                {
                    actEndCoverDate = data.ActEndCoverDate.Value.ToString("dd-MM-") + data.ActEndCoverDate.Value.Year.ToString();
                }

                content  = "เลขที่สัญญา:" + (data != null ? data.ContractNo : "");
                content += ", บริษัทประกันภัยรถยนต์:" + (data != null ? data.InsuranceCompany : "");
                content += ", เลขเล่มกรมธรรม์:" + (data != null ? data.PolicyNo : "");
                content += ", เลขลงทะเบียน:";
                content += ", วันที่คุ้มครอง:" + policyStartCoverDate;
                content += ", วันที่สิ้นสุดกรมธรรม์:" + policyEndCoverDate;
                content += ", เลขที่พรบ.:" + (data != null ? data.ActNo : "");
                content += ", วันที่เริ่มต้นพรบ.:" + actStartCoverDate;
                content += ", วันที่สิ้นสุดพรบ.:" + actEndCoverDate;

                var lead = slmdb.kkslm_tr_lead.Where(p => p.slm_ticketId == ticketId).FirstOrDefault();
                if (lead != null)
                {
                    kkslm_phone_call phone = new kkslm_phone_call()
                    {
                        slm_TicketId           = ticketId,
                        slm_Status             = lead.slm_Status,
                        slm_SubStatus          = lead.slm_SubStatus,
                        slm_SubStatusName      = lead.slm_ExternalSubStatusDesc,
                        slm_Owner              = lead.slm_Owner,
                        slm_Owner_Position     = lead.slm_Owner_Position,
                        slm_ContactDetail      = content,
                        slm_CreateBy           = "SYSTEM",
                        slm_CreatedBy_Position = null,
                        slm_CreateDate         = createdDate,
                        is_Deleted             = 0
                    };
                    slmdb.kkslm_phone_call.AddObject(phone);
                    slmdb.SaveChanges();

                    return(phone);
                }
                else
                {
                    throw new Exception("ไม่พบ TicketId " + ticketId + " ในระบบ");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }