예제 #1
0
        public JsonResult GetDetail(string id)
        {
            WorkflowSettingHeader objhdr = new WorkflowSettingHeader();
            int _id = id == ""?0: Convert.ToInt32(id);

            objhdr = new WorkflowSettingBLL().Detail(_id);
            return(Json(new { Detail = objhdr.ls_details, Id = objhdr.Id, TypeID = objhdr.TypeID, Version = objhdr.Version, TotalLevel = objhdr.ApprovalLevel }, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public int Update(WorkflowSettingHeader wfHdr, List <WorkflowSettingModel> lsdetails, out string errMsg)
        {
            errMsg = string.Empty;
            tb_workflowSetting wfdetil = new tb_workflowSetting();

            imap = config.CreateMapper();
            using (TDMDBEntities context = new TDMDBEntities())
            {
                var _exist = context.tb_workflowSettingHdr.SingleOrDefault(x => x.Id == wfHdr.Id);
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        _exist.TypeID        = wfHdr.TypeID;
                        _exist.Version       = wfHdr.Version;
                        _exist.ApprovalLevel = wfHdr.ApprovalLevel;
                        _exist.ModifiedBy    = "SYSTEM";
                        _exist.ModifiedDate  = DateTime.Now;
                        result_affected     += context.SaveChanges();

                        var toBeDelete = context.tb_workflowSetting.Where(x => x.HeaderID == wfHdr.Id);
                        if (toBeDelete != null)
                        {
                            context.tb_workflowSetting.RemoveRange(toBeDelete);
                            context.SaveChanges();
                        }

                        foreach (var item in lsdetails)
                        {
                            wfdetil             = imap.Map <WorkflowSettingModel, tb_workflowSetting>(item);
                            wfdetil.HeaderID    = wfHdr.Id;
                            wfdetil.CreatedBy   = "SYSTEM";
                            wfdetil.CreatedDate = DateTime.Now;
                            context.tb_workflowSetting.Add(wfdetil);
                            result_affected += context.SaveChanges();
                        }

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        errMsg = ex.Message;
                    }
                }
            }
            return(result_affected);
        }
예제 #3
0
        public WorkflowSettingHeader Detail(int id)
        {
            WorkflowSettingHeader detil = new WorkflowSettingHeader();
            IMapper imap = config.CreateMapper();

            try
            {
                using (TDMDBEntities context = new TDMDBEntities())
                {
                    var _details = context.tb_workflowSettingHdr.SingleOrDefault(x => x.Id == id);
                    detil = imap.Map <tb_workflowSettingHdr, WorkflowSettingHeader>(_details);

                    var qry_setting_detail = context.tb_workflowSetting.Where(x => x.HeaderID == id);
                    if (qry_setting_detail.Count() > 0)
                    {
                        detil.ls_details = new List <WorkflowSettingModel>();
                    }
                    foreach (var item in qry_setting_detail)
                    {
                        WorkflowSettingModel md = new WorkflowSettingModel();

                        md.HeaderID      = item.HeaderID;
                        md.ApprovalLevel = md.Order = item.ApprovalLevel;
                        md.Actor         = item.Actor;
                        md.ActorID       = item.ActorID;
                        md.Action        = item.ActorID;
                        md.action_desc   = item.action_desc;
                        if (item.Actor == "ROLE")
                        {
                            int _actorid = Convert.ToInt32(item.ActorID);
                            md.RoleDesc = context.tb_role.SingleOrDefault(x => x.Id == _actorid).RoleName;
                        }

                        detil.ls_details.Add(md);
                    }
                }
            }
            catch (Exception exc)
            {
                throw new Exception(exc.Message);
            }
            return(detil);
        }
예제 #4
0
        public JsonResult AddNewSetting()
        {
            string _status = MyEnums.enumStatus.SUCCESS.ToString();
            string _errMsg = string.Empty;
            int    _result = 0;
            List <WorkflowSettingModel> lswfDetail = new List <WorkflowSettingModel>();
            WorkflowSettingHeader       wfHdr      = new WorkflowSettingHeader();

            if (Session["UserLogon"] != null)
            {
                List <WorkflowSettingModel> details = new List <WorkflowSettingModel>();
                details = JsonConvert.DeserializeObject <List <WorkflowSettingModel> >(Request.Form["WFApproval"]);

                try
                {
                    if (Request.Form["ID"] == "")
                    {
                        wfHdr.TypeID        = Convert.ToInt32(Request.Form["DocType"].ToString());
                        wfHdr.Version       = Convert.ToInt32(Request.Form["Version"].ToString());
                        wfHdr.ApprovalLevel = details.Count;
                        wfHdr.CreatedBy     = "SYSTEM";
                        wfHdr.CreatedDate   = DateTime.Now;
                        _result             = new WorkflowSettingBLL().Insert(wfHdr, details, out _errMsg);
                    }
                    else
                    {
                        wfHdr.Id            = Convert.ToInt32(Request.Form["ID"].ToString());
                        wfHdr.TypeID        = Convert.ToInt32(Request.Form["DocType"].ToString());
                        wfHdr.Version       = Convert.ToInt32(Request.Form["Version"].ToString());
                        wfHdr.ApprovalLevel = details.Count;
                        wfHdr.ModifiedBy    = "SYSTEM";
                        wfHdr.ModifiedDate  = DateTime.Now;
                        _result             = new WorkflowSettingBLL().Update(wfHdr, details, out _errMsg);
                    }
                }
                catch (Exception ex)
                {
                    _errMsg = ex.Message;
                }
            }
            return(Json(new { Status = _status, Mesg = _errMsg }, JsonRequestBehavior.AllowGet));
        }
예제 #5
0
        public int Insert(WorkflowSettingHeader wfhdr, List <WorkflowSettingModel> lsmodel, out string errMsg)
        {
            errMsg = string.Empty;
            tb_workflowSetting wfdetil = new tb_workflowSetting();

            imap = config.CreateMapper();
            int _hdrId = 0;

            using (TDMDBEntities context = new TDMDBEntities())
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        var _cekstillEmpty = context.tb_workflowSettingHdr.Count();

                        tb_workflowSettingHdr _entHdr = new tb_workflowSettingHdr();
                        _entHdr.ApprovalLevel = wfhdr.ApprovalLevel;
                        _entHdr.Version       = wfhdr.Version;
                        _entHdr.TypeID        = wfhdr.TypeID;
                        _entHdr.CreatedBy     = wfhdr.CreatedBy;
                        _entHdr.CreatedDate   = DateTime.Now;
                        _entHdr.IsActive      = true;
                        context.tb_workflowSettingHdr.Add(_entHdr);
                        result_affected += context.SaveChanges();
                        _hdrId           = _entHdr.Id;
                        foreach (var item in lsmodel)
                        {
                            wfdetil             = imap.Map <WorkflowSettingModel, tb_workflowSetting>(item);
                            wfdetil.HeaderID    = _hdrId;
                            wfdetil.CreatedBy   = "SYSTEM";
                            wfdetil.CreatedDate = DateTime.Now;
                            context.tb_workflowSetting.Add(wfdetil);
                            result_affected += context.SaveChanges();
                        }

                        if (_cekstillEmpty > 0)
                        {
                            if (NonActivateSetting(_entHdr, _hdrId) > 0)
                            {
                                transaction.Commit();
                            }
                            else
                            {
                                transaction.Rollback();
                            }
                        }
                        else
                        {
                            transaction.Commit();
                        }
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw new Exception(ex.Message);
                    }
                }
            }
            return(result_affected);
        }