Example #1
0
        /// <summary>
        /// Check permission for access screen CMS100
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public ActionResult CMS100_Authority(CMS100_ScreenParameter param) // old: string GroupCode
        {
            ObjectResultData res = new ObjectResultData();

            try
            {
                //Mock Data
                //GroupCode = "G0000024";

                if (!CheckUserPermission(ScreenID.C_SCREEN_ID_VIEW_CUSTOMER_GROUP, FunctionID.C_FUNC_ID_OPERATE))
                {
                    res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0053);
                    return(Json(res));
                }

                if (CommonUtil.IsNullOrEmpty(param.GroupCode))
                {
                    res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0040);
                    return(Json(res));
                }

                IGroupMasterHandler hand  = ServiceContainer.GetService <IGroupMasterHandler>() as IGroupMasterHandler;
                doGroup             doGrp = new doGroup();
                doGrp.GroupCode = param.GroupCode;
                List <doGroup> lst = hand.GetGroup(doGrp);
                if (lst.Count <= 0)
                {
                    res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0001);
                    return(Json(res));
                }

                param.GroupData        = lst[0];
                param.GroupSummaryList = new List <dtGroupSummaryForShow>();
                param.CustomerList     = new List <dtCustomerListGrp>();
                param.SiteList         = new List <dtsiteListGrp>();
                param.ContractList     = new List <dtContractListGrp>();

                return(InitialScreenEnvironment <CMS100_ScreenParameter>(CMS100_Screen, param, res));
            }
            catch (Exception ex)
            {
                res.AddErrorMessage(ex);
                return(Json(res));
            }
        }
Example #2
0
        /// <summary>
        /// Add/Edit customer group.<br />
        /// - Validate field.<br />
        /// - Check exist active employee.<br />
        /// - Check duplicate group.<br />
        /// - Update database.
        /// </summary>
        /// <param name="cond"></param>
        /// <returns></returns>
        public ActionResult MAS060_AddEdit(MAS060_AddEdit cond)
        {
            ObjectResultData res = new ObjectResultData();

            res.MessageType = MessageModel.MESSAGE_TYPE.WARNING;
            try
            {
                //Validate Required Field
                if (ModelState.IsValid == false)
                {
                    ValidatorUtil.BuildErrorMessage(res, this);
                    if (res.IsError)
                    {
                        return(Json(res));
                    }
                }

                //Already validate when load emp name
                //if (!CommonUtil.IsNullOrEmpty(cond.GroupEmpNo) && CommonUtil.IsNullOrEmpty(cond.GroupEmpName))
                //{
                //    res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0024);
                //    return Json(res);
                //}

                if (CommonUtil.IsNullOrEmpty(cond.GroupEmpNo) == false)
                {
                    IEmployeeMasterHandler handler = ServiceContainer.GetService <IEmployeeMasterHandler>() as IEmployeeMasterHandler;
                    if (handler.CheckExistActiveEmployee(cond.GroupEmpNo) == false)
                    {
                        res.AddErrorMessage(MessageUtil.MODULE_COMMON,
                                            MessageUtil.MessageList.MSG0095,
                                            new string[] { cond.GroupEmpNo },
                                            new string[] { "GroupEmpNo" });
                        return(Json(res));
                    }
                }

                IGroupMasterHandler hand = ServiceContainer.GetService <IGroupMasterHandler>() as IGroupMasterHandler;
                bool bResult             = hand.CheckDuplicateGroupData(cond.GroupNameEN, cond.GroupCode);
                if (bResult)
                {
                    res.AddErrorMessage(MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1010);
                    res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION;
                    return(Json(res));
                }
                else
                {
                    //Check System Suspending
                    res = checkSystemSuspending();
                    if (res.IsError)
                    {
                        return(Json(res));
                    }

                    MAS060_ScreenParameter MAS060Param = GetScreenObject <MAS060_ScreenParameter>();
                    doGroup resultObj = new doGroup();
                    if (cond.CurrentMode == FunctionID.C_FUNC_ID_ADD)
                    {
                        string strGroupCode = hand.GenerateGroupCode();
                        if (!CommonUtil.IsNullOrEmpty(strGroupCode))
                        {
                            //set insert value
                            doGroup group = new doGroup();
                            group.GroupCode       = strGroupCode;
                            group.GroupNameEN     = cond.GroupNameEN;
                            group.GroupNameLC     = cond.GroupNameLC;
                            group.Memo            = cond.Memo;
                            group.GroupOfficeCode = cond.GroupOfficeCode;
                            group.GroupEmpNo      = cond.GroupEmpNo;
                            group.GroupEmpName    = cond.GroupEmpName;
                            group.DeleteFlag      = cond.DeleteFlag;

                            //Insert data in db
                            List <tbm_Group> inserted = hand.InsertGroup(group);

                            //Set new UpdateDate
                            group.UpdateDate = inserted[0].UpdateDate;

                            //Add new data in session
                            if (MAS060Param.SearchResult == null)
                            {
                                MAS060Param.SearchResult = new List <doGroup>();
                            }
                            MAS060Param.SearchResult.Add(group);
                            UpdateScreenObject(MAS060Param);
                            resultObj.GroupCode = strGroupCode;
                        }
                    }
                    else if (cond.CurrentMode == FunctionID.C_FUNC_ID_EDIT)
                    {
                        var doGroupList = from g in MAS060Param.SearchResult
                                          where g.GroupCode == cond.GroupCode
                                          select g;

                        foreach (var group in doGroupList)
                        {
                            //set update value
                            group.GroupCode       = cond.GroupCode;
                            group.GroupNameEN     = cond.GroupNameEN;
                            group.GroupNameLC     = cond.GroupNameLC;
                            group.Memo            = cond.Memo;
                            group.GroupOfficeCode = cond.GroupOfficeCode;
                            group.GroupEmpNo      = cond.GroupEmpNo;
                            group.GroupEmpName    = cond.GroupEmpName;
                            group.DeleteFlag      = cond.DeleteFlag;

                            if (CommonUtil.IsNullOrEmpty(group.UpdateDate))
                            {
                                res.AddErrorMessage(
                                    MessageUtil.MODULE_COMMON,
                                    MessageUtil.MessageList.MSG0007,
                                    new string[] { "UpdateDate" });
                                return(Json(res));
                            }

                            //Update data in db
                            List <tbm_Group> updated = hand.UpdateGroup(group);

                            //Set new UpdateDate
                            group.UpdateDate = updated[0].UpdateDate;

                            //Save edit data in session
                            UpdateScreenObject(MAS060Param);
                            resultObj.GroupCode = cond.GroupCode;
                            break;
                        }
                    }

                    //when finish with out error
                    Object[] result = new Object[2];
                    result[0] = resultObj;
                    result[1] = MessageUtil.GetMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0046);

                    res.ResultData = result;
                }
            }
            catch (Exception ex)
            {
                res.AddErrorMessage(ex);
            }

            return(Json(res));
        }