public BaseResponse <int> AddStaff(ComplexStaff model)
        {
            Staff obj = new Staff();

            obj.StaffCode    = model.StaffCode;
            obj.FirstName    = model.FirstName;
            obj.LastName     = model.LastName;
            obj.FullName     = model.FullName;
            obj.UserId       = model.UserId;
            obj.Email        = model.Email;
            obj.PhoneNumber  = model.PhoneNumber;
            obj.DateOfBirth  = model.DateOfBirth;
            obj.Gender       = model.Gender;
            obj.Address      = model.Address;
            obj.Avatar       = model.Avatar;
            obj.Order        = model.Order;
            obj.Leader       = model.Leader;
            obj.SeniorLeader = model.SeniorLeader;
            obj.SuperLeader  = model.SuperLeader;
            obj.SignedBy     = model.SignedBy;
            obj.Active       = model.Active;
            obj.Deleted      = model.Deleted;
            obj.CreatedBy    = model.CreatedBy;
            obj.CreatedOn    = model.CreatedOn;
            obj.EditedBy     = model.EditedBy;
            obj.EditedOn     = model.EditedOn;

            var response     = new BaseResponse <int>();
            var responseTemp = new BaseResponse <Staff>();

            #region Generate TaskCode
            string taskCode       = "";
            string taskCodeText   = "";
            string taskCodeNumber = "";
            try
            {
                var systemConfigDepartmentQuery = new SystemConfigDepartmentQuery();
                systemConfigDepartmentQuery.DepartmentId = model.DepartmentId;
                systemConfigDepartmentQuery.DefaultValue = "CB";
                systemConfigDepartmentQuery.Title        = "STAFFCODE";
                taskCodeText = _systemConfigDepartmentRepository.GetSystemConfigDepartmentValue(systemConfigDepartmentQuery);
                systemConfigDepartmentQuery.DefaultValue = "0";
                systemConfigDepartmentQuery.Title        = "STAFFNUMBER";
                string taskCodeNumberConfig = _systemConfigDepartmentRepository.GetSystemConfigDepartmentValue(systemConfigDepartmentQuery);
                taskCodeNumber = (int.Parse(taskCodeNumberConfig) + 1).ToString("D4");
                taskCode       = taskCodeText + taskCodeNumber;
            }
            catch
            {
            }
            #endregion Generate TaskCode
            try
            {
                obj.CreatedOn      = DateTime.Now;
                responseTemp.Value = _staffRepository.Add(obj);
                response.Value     = responseTemp.Value.Id;
                _applicationLoggingRepository.Log("EVENT", "ADD", "Staff", "", "", "", obj, "", HttpContext.Current.Request.UserHostAddress, obj.CreatedBy);
                //Update SystemConfigDepartment
                SystemConfigDepartment taskCodeNumberSystemConfigDepartment = new SystemConfigDepartment();
                taskCodeNumberSystemConfigDepartment = _systemConfigDepartmentRepository.GetByTitle("STAFFNUMBER", model.DepartmentId);
                if (taskCodeNumberSystemConfigDepartment != null)
                {
                    taskCodeNumberSystemConfigDepartment.Value = taskCodeNumber;
                    _systemConfigDepartmentRepository.Edit(taskCodeNumberSystemConfigDepartment);
                }
            }
            catch (Exception ex)
            {
                response.IsSuccess = false;
                response.Message   = "Error: " + ex.Message + " StackTrace: " + ex.StackTrace;
            }
            return(response);
        }
Beispiel #2
0
 public BaseResponse <int> Add(ComplexStaff model)
 {
     return(_organizationService.AddStaff(model));
 }