Пример #1
0
        public void CreateMsDepartment(CreateOrUpdateMsDepartmentInput input)
        {
            Logger.Info("CreateMsDepartment() - Started.");

            Logger.DebugFormat("CreateMsDepartment() - Start checking exiting code and name. Params sent:{0}" +
                               "departmentCode   ={1}{0}" +
                               "departmentName   ={2}"
                               , Environment.NewLine, input.departmentCode, input.departmentName);
            var checkDepartmentCodeName = (from A in _msDepartmentRepo.GetAll()
                                           where A.departmentCode == input.departmentCode || A.departmentName == input.departmentName
                                           select A).Any();

            Logger.DebugFormat("CreateMsDepartment() - End checking exiting code and name. Result: {0}", checkDepartmentCodeName);

            if (!checkDepartmentCodeName)
            {
                var createMsdepartment = new MS_Department
                {
                    departmentName     = input.departmentName,
                    departmentCode     = input.departmentCode,
                    departmentEmail    = input.departmentEmail,
                    departmentWhatsapp = input.departmentWhatsapp,
                    isActive           = input.isActive
                };

                try
                {
                    Logger.DebugFormat("CreateMsDepartment() - Start insert depertment. Params sent:{0}" +
                                       "departmentName   = {1}{0}" +
                                       "departmentCode   = {2}{0}" +
                                       "departmentEmail  = {3}{0}" +
                                       "departmentWhatsapp = {4}{0}" +
                                       "isActive         = {5}"
                                       , Environment.NewLine, input.departmentName, input.departmentCode, input.departmentEmail, input.departmentWhatsapp, input.isActive);
                    _msDepartmentRepo.Insert(createMsdepartment);
                    CurrentUnitOfWork.SaveChanges(); //execution saved inside try
                    Logger.DebugFormat("CreateMsDepartment() - End insert department.");
                }
                catch (DataException ex)
                {
                    Logger.ErrorFormat("CreateMsDepartment() ERROR DataException. Result = {0}", ex.Message);
                    throw new UserFriendlyException("Db Error: " + ex.Message);
                }
                catch (Exception ex)
                {
                    Logger.ErrorFormat("CreateMsDepartment() ERROR Exception. Result = {0}", ex.Message);
                    throw new UserFriendlyException("Error: " + ex.Message);
                }
            }
            else
            {
                Logger.ErrorFormat("CreateMsDepartment() ERROR . Result = {0}", "department Code or department Name Already Exist !");
                throw new UserFriendlyException("Department Code or Department Name Already Exist !");
            }
            Logger.Info("CreateMsDepartment() - Finished.");
        }
Пример #2
0
        public JObject UpdateMsDepartment(CreateOrUpdateMsDepartmentInput input)
        {
            Logger.Info("UpdateMsDepartment() - Started.");
            JObject obj = new JObject();

            Logger.DebugFormat("UpdateMsDepartment() - Start checking exiting code and name. Params sent:{0}" +
                               "departmentCode   = {1}{0}" +
                               "departmentName   = {2}{0}" +
                               "departmentID     = {3}"
                               , Environment.NewLine, input.departmentCode, input.departmentName, input.departmentID);

            var checkdepartmentNameCode = (from A in _msDepartmentRepo.GetAll()
                                           where A.Id != input.departmentID && (A.departmentCode == input.departmentCode || A.departmentName == input.departmentName)
                                           select A).Any();

            var checkPosition = (from A in _msPositionRepo.GetAll()
                                 where A.departmentID == input.departmentID
                                 select A).Any();

            var checkOfficer = (from A in _msOfficerRepo.GetAll()
                                where A.departmentID == input.departmentID
                                select A).Any();

            Logger.DebugFormat("UpdateMsDepartment() - End checking exiting code and name. Result: {0}", checkdepartmentNameCode);

            if (!checkdepartmentNameCode)
            {
                var getMsDepartment = (from A in _msDepartmentRepo.GetAll()
                                       where input.departmentID == A.Id
                                       select A).FirstOrDefault();

                var updateMsdepartment = getMsDepartment.MapTo <MS_Department>();

                updateMsdepartment.departmentEmail    = input.departmentEmail;
                updateMsdepartment.departmentWhatsapp = input.departmentWhatsapp;
                updateMsdepartment.isActive           = input.isActive;

                if (!checkPosition && !checkOfficer)
                {
                    if (getMsDepartment.departmentName == "PSAS" || getMsDepartment.departmentName == "Product General" ||
                        getMsDepartment.departmentName == "Bank Relation" || getMsDepartment.departmentName == "Call Center" ||
                        getMsDepartment.departmentName == "Finance" || getMsDepartment.departmentName == "Building Management")
                    {
                        obj.Add("message", "Edit Successfully, but can't change is Active, Department Name & Code");
                    }
                    else
                    {
                        updateMsdepartment.departmentName = input.departmentName;
                        updateMsdepartment.departmentCode = input.departmentCode;
                        obj.Add("message", "Edit Successfully");
                    }
                }
                else
                {
                    obj.Add("message", "Edit Successfully, but can't change Department Code & Name");
                }

                try
                {
                    Logger.DebugFormat("UpdateMsDepartment() - Start update department. Params sent:{0}" +
                                       "departmentName   = {1}{0}" +
                                       "departmentCode   = {2}{0}" +
                                       "departmentEmail  = {3}{0}" +
                                       "departmentWhatsapp = {4}{0}" +
                                       "isActive         = {5}"
                                       , Environment.NewLine, input.departmentName, input.departmentCode, input.departmentEmail, input.departmentWhatsapp, input.isActive);
                    _msDepartmentRepo.Update(updateMsdepartment);
                    CurrentUnitOfWork.SaveChanges(); //execution saved inside try
                    Logger.DebugFormat("UpdateMsDepartment() - End update department.");
                }
                catch (DataException ex)
                {
                    Logger.ErrorFormat("UpdateMsDepartment() ERROR DataException. Result = {0}", ex.Message);
                    throw new UserFriendlyException("Db Error: " + ex.Message);
                }
                catch (Exception ex)
                {
                    Logger.ErrorFormat("UpdateMsDepartment() ERROR Exception. Result = {0}", ex.Message);
                    throw new UserFriendlyException("Error: " + ex.Message);
                }
            }
            else
            {
                Logger.ErrorFormat("UpdateMsDepartment() Department Code Or Name already exist. Result = {0}", checkdepartmentNameCode);
                throw new UserFriendlyException("Department Code Or Name already exist!");
            }

            Logger.Info("UpdateMsDepartment() - Finished.");
            return(obj);
        }