Exemplo n.º 1
0
        public void CheckManage(List <CheckListDto> ckList, long ticketId, long userId)
        {
            sys_form_tmpl_ticket_checklist_dal stcDal = new sys_form_tmpl_ticket_checklist_dal();
            var thisTicket = new sys_form_tmpl_ticket_dal().FindNoDeleteById(ticketId);

            if (thisTicket == null)
            {
                return;
            }
            var oldCheckList = stcDal.GetCheckByTicket(ticketId);
            var timeNow      = Tools.Date.DateHelper.ToUniversalTimeStamp(DateTime.Now);

            if (oldCheckList != null && oldCheckList.Count > 0)
            {
                if (ckList != null && ckList.Count > 0)
                {
                    var editList = ckList.Where(_ => _.ckId > 0).ToList();
                    var addList  = ckList.Where(_ => _.ckId < 0).ToList();
                    if (editList != null && editList.Count > 0)
                    {
                        foreach (var thisEnt in editList)
                        {
                            var oldThisEdit = oldCheckList.FirstOrDefault(_ => _.id == thisEnt.ckId);
                            var thisEdit    = stcDal.FindNoDeleteById(thisEnt.ckId);
                            if (oldThisEdit != null && thisEdit != null)
                            {
                                oldCheckList.Remove(oldThisEdit);
                                thisEdit.is_competed    = (sbyte)(thisEnt.isComplete ? 1 : 0);
                                thisEdit.is_important   = (sbyte)(thisEnt.isImport ? 1 : 0);
                                thisEdit.item_name      = thisEnt.itemName;
                                thisEdit.kb_article_id  = thisEnt.realKnowId;
                                thisEdit.sort_order     = thisEnt.sortOrder;
                                thisEdit.update_user_id = userId;
                                thisEdit.update_time    = timeNow;
                                stcDal.Update(thisEdit);
                                OperLogBLL.OperLogUpdate <sys_form_tmpl_ticket_checklist>(thisEdit, oldThisEdit, thisEdit.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_TICKET_CHECKLIST, "");
                            }
                        }
                    }
                    if (addList != null && addList.Count > 0)
                    {
                        foreach (var thisEnt in addList)
                        {
                            var thisCheck = new sys_form_tmpl_ticket_checklist()
                            {
                                id                  = stcDal.GetNextIdCom(),
                                is_competed         = (sbyte)(thisEnt.isComplete ? 1 : 0),
                                is_important        = (sbyte)(thisEnt.isImport ? 1 : 0),
                                item_name           = thisEnt.itemName,
                                kb_article_id       = thisEnt.realKnowId,
                                update_user_id      = userId,
                                update_time         = timeNow,
                                create_time         = timeNow,
                                create_user_id      = userId,
                                form_tmpl_ticket_id = ticketId,
                                sort_order          = thisEnt.sortOrder,
                            };
                            stcDal.Insert(thisCheck);
                            OperLogBLL.OperLogAdd <sys_form_tmpl_ticket_checklist>(thisCheck, thisCheck.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_TICKET_CHECKLIST, "");
                        }
                    }
                }
                if (oldCheckList.Count > 0)
                {
                    oldCheckList.ForEach(_ =>
                    {
                        stcDal.SoftDelete(_, userId);
                        OperLogBLL.OperLogDelete <sys_form_tmpl_ticket_checklist>(_, _.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_TICKET_CHECKLIST, "");
                    });
                }
            }
            else
            {
                if (ckList != null && ckList.Count > 0)
                {
                    foreach (var thisEnt in ckList)
                    {
                        var thisCheck = new sys_form_tmpl_ticket_checklist()
                        {
                            id                  = stcDal.GetNextIdCom(),
                            is_competed         = (sbyte)(thisEnt.isComplete ? 1 : 0),
                            is_important        = (sbyte)(thisEnt.isImport ? 1 : 0),
                            item_name           = thisEnt.itemName,
                            kb_article_id       = thisEnt.realKnowId,
                            update_user_id      = userId,
                            update_time         = timeNow,
                            create_time         = timeNow,
                            create_user_id      = userId,
                            form_tmpl_ticket_id = ticketId,
                            sort_order          = thisEnt.sortOrder,
                        };
                        stcDal.Insert(thisCheck);
                        OperLogBLL.OperLogAdd <sys_form_tmpl_ticket_checklist>(thisCheck, thisCheck.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_TICKET_CHECKLIST, "");
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 删除模板
        /// </summary>
        public bool DeleteTmpl(long id, long userId)
        {
            var tmpl = _dal.FindNoDeleteById(id);

            if (tmpl == null)
            {
                return(true);
            }
            _dal.SoftDelete(tmpl, userId);
            OperLogBLL.OperLogDelete <sys_form_tmpl>(tmpl, tmpl.id, userId, OPER_LOG_OBJ_CATE.FROM, "");
            if (tmpl.form_type_id == (int)DicEnum.FORM_TMPL_TYPE.OPPORTUNITY)
            {
                var oppoTmp = GetOpportunityTmpl(tmpl.id);
                if (oppoTmp != null)
                {
                    new sys_form_tmpl_opportunity_dal().SoftDelete(oppoTmp, userId);
                    OperLogBLL.OperLogDelete <sys_form_tmpl_opportunity>(oppoTmp, oppoTmp.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_OPPORTUNITY, "");
                }
            }
            else if (tmpl.form_type_id == (int)DicEnum.FORM_TMPL_TYPE.PROJECT_NOTE || tmpl.form_type_id == (int)DicEnum.FORM_TMPL_TYPE.TASK_NOTE || tmpl.form_type_id == (int)DicEnum.FORM_TMPL_TYPE.TICKET_NOTE)
            {
                var noteTmp = GetNoteTmpl(tmpl.id);
                if (noteTmp != null)
                {
                    new sys_form_tmpl_activity_dal().SoftDelete(noteTmp, userId);
                    OperLogBLL.OperLogDelete <sys_form_tmpl_activity>(noteTmp, noteTmp.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_ACTIVITY, "");
                }
            }
            else if (tmpl.form_type_id == (int)DicEnum.FORM_TMPL_TYPE.QUICK_CALL)
            {
                var quickCallTmp = GetQuickCallTmpl(tmpl.id);
                if (quickCallTmp != null)
                {
                    new sys_form_tmpl_quick_call_dal().SoftDelete(quickCallTmp, userId);
                    OperLogBLL.OperLogDelete <sys_form_tmpl_quick_call>(quickCallTmp, quickCallTmp.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_QUICK_CALL, "");
                }
            }
            else if (tmpl.form_type_id == (int)DicEnum.FORM_TMPL_TYPE.QUOTE)
            {
                var quoteTmp = GetQuoteTmpl(tmpl.id);
                if (quoteTmp != null)
                {
                    new sys_form_tmpl_quote_dal().SoftDelete(quoteTmp, userId);
                    OperLogBLL.OperLogDelete <sys_form_tmpl_quote>(quoteTmp, quoteTmp.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_QUOTE, "");
                }
            }
            else if (tmpl.form_type_id == (int)DicEnum.FORM_TMPL_TYPE.RECURRING_TICKET)
            {
                var recTicketTmp = GetRecTicketTmpl(tmpl.id);
                if (recTicketTmp != null)
                {
                    new sys_form_tmpl_recurring_ticket_dal().SoftDelete(recTicketTmp, userId);
                    OperLogBLL.OperLogDelete <sys_form_tmpl_recurring_ticket>(recTicketTmp, recTicketTmp.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_RECURRING_TICKET, "");
                }
            }
            else if (tmpl.form_type_id == (int)DicEnum.FORM_TMPL_TYPE.SERVICE_CALL)
            {
                var callTmp = GetServiceCallTmpl(tmpl.id);
                if (callTmp != null)
                {
                    new sys_form_tmpl_service_call_dal().SoftDelete(callTmp, userId);
                    OperLogBLL.OperLogDelete <sys_form_tmpl_service_call>(callTmp, callTmp.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_SERVICE_CALL, "");
                }
            }

            else if (tmpl.form_type_id == (int)DicEnum.FORM_TMPL_TYPE.TASK_TIME_ENTRY || tmpl.form_type_id == (int)DicEnum.FORM_TMPL_TYPE.TICKET_TIME_ENTRY)
            {
                var entryTmpl = GetWorkEntryTmpl(tmpl.id);
                if (entryTmpl != null)
                {
                    new sys_form_tmpl_work_entry_dal().SoftDelete(entryTmpl, userId);
                    OperLogBLL.OperLogDelete <sys_form_tmpl_work_entry>(entryTmpl, entryTmpl.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_WORK_ENTRY, "");
                }
            }
            else if (tmpl.form_type_id == (int)DicEnum.FORM_TMPL_TYPE.TICKET)
            {
                var ticketTmpl = GetTicketTmpl(tmpl.id);
                if (ticketTmpl != null)
                {
                    new sys_form_tmpl_ticket_dal().SoftDelete(ticketTmpl, userId);
                    OperLogBLL.OperLogDelete <sys_form_tmpl_ticket>(ticketTmpl, ticketTmpl.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_TICKET, "");
                    sys_form_tmpl_ticket_checklist_dal stcDal = new sys_form_tmpl_ticket_checklist_dal();
                    var oldCheckList = stcDal.GetCheckByTicket(ticketTmpl.id);
                    if (oldCheckList.Count > 0)
                    {
                        oldCheckList.ForEach(_ =>
                        {
                            stcDal.SoftDelete(_, userId);
                            OperLogBLL.OperLogDelete <sys_form_tmpl_ticket_checklist>(_, _.id, userId, OPER_LOG_OBJ_CATE.SYS_FORM_TMPL_TICKET_CHECKLIST, "");
                        });
                    }
                }
            }

            return(true);
        }