예제 #1
0
        public ActionResult AddEditDetail(EmployeeDetailModel objEmployeeDetailModel)
        {
            objEmployeeDetailModel.CreatedBy = objEmployeeDetailModel.UpdatedBy = User.Identity.Name;
            var IsSaved = objEmployee.AddEmployeeDetails(objEmployeeDetailModel);

            return(RedirectToAction("Index"));
        }
        public static EmployeeDetailModel InfoToModel(this EmployeeInfo info)
        {
            if (info == null)
            {
                return(null);
            }
            var model = new EmployeeDetailModel
            {
                Id            = info.Id,
                EmployeeNo    = info.EmployeeNo,
                Name          = info.Name,
                Mobile        = info.Mobile,
                Gender        = info.Gender,
                Birthday      = info.Birthday,
                Spend         = info.Spend,
                CreateDate    = info.CreateDate,
                LastUpdatedOn = info.LastUpdatedOn
            };

            if (info.Gender == 0)
            {
                model.GenderString = "女";
            }
            else
            {
                model.GenderString = "男";
            }

            return(model);
        }
예제 #3
0
        /// <summary>
        /// 入职离职
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool UpdateEmployeeJoinStatus(EmployeeDetailModel model)
        {
            var _session = HttpContext.Current.Session;

            if (model.Id == Guid.Empty && int.Parse(_session["Authority"].ToString()) > 0)
            {
                return(false);
            }
            var employeeInfo = _employeeInfoRepository.GetById(model.Id);

            if (employeeInfo != null && employeeInfo.Quit != model.Quit)
            {
                employeeInfo.Quit = model.Quit;
                if (model.Quit)
                {
                    employeeInfo.QuitDate = DateTime.Now;
                }
                else
                {
                    employeeInfo.JoinDate = DateTime.Now;
                }
            }
            _employeeInfoRepository.Update(employeeInfo);
            return(true);
        }
        /// <summary>
        /// Create a new employee
        /// </summary>
        /// <param name="model"></param>
        public HttpResponseMessage Post(EmployeeDetailModel model)
        {
            var employee = this.DataContext.Employees.Add(new Employee
            {
                FirstName  = model.FirstName,
                LastName   = model.LastName,
                Title      = model.Title,
                HireDate   = model.HireDate,
                Address    = model.Address,
                City       = model.City,
                Region     = model.Region,
                PostalCode = model.PostalCode,
                Country    = model.Country,
                HomePhone  = model.HomePhone,
                Extension  = model.Extension,
                Notes      = model.Notes,
                ReportsTo  = model.ManagerId,
                //Manager = model.ReportsTo.HasValue ? model.Manager.FirstName + " " + e.Manager.LastName : null,
            });

            this.DataContext.SaveChanges();

            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, employee);

            response.Headers.Location = new Uri(Url.Link("Api", new { controller = "Employees", id = employee.Id }));
            return(response);
        }
        /// <summary>
        /// Update an existing employee
        /// </summary>
        /// <param name="model"></param>
        public HttpResponseMessage Put(EmployeeDetailModel model)
        {
            var employee = this.DataContext.Employees.Find(model.Id);

            if (employee == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            employee.FirstName  = model.FirstName;
            employee.LastName   = model.LastName;
            employee.Title      = model.Title;
            employee.HireDate   = model.HireDate;
            employee.Address    = model.Address;
            employee.City       = model.City;
            employee.Region     = model.Region;
            employee.PostalCode = model.PostalCode;
            employee.Country    = model.Country;
            employee.HomePhone  = model.HomePhone;
            employee.Extension  = model.Extension;
            employee.Notes      = model.Notes;
            employee.ReportsTo  = model.ManagerId;
            this.DataContext.SaveChanges();

            return(Request.CreateResponse(HttpStatusCode.OK, model));
        }
예제 #6
0
        [HttpPost("Register")]                                                                    //Creating a Post Api
        public IActionResult RegisterRecord(EmployeeDetailModel employeeDetailModel)              //Here return type represents the result of an action method
        {
            try
            {
                if (ModelState.IsValid)
                {
                    EmployeeDetailModel result = this.employeeBL.RegisterEmployee(employeeDetailModel);                   //getting the data from BusinessLayer
                    if (result != null)
                    {
                        return(this.Ok(new { Success = true, Message = "Register Employee Successfully" }));   //(smd format)    //this.Ok returns the data in json format
                    }
                    else
                    {
                        return(this.BadRequest(new { Success = false, Message = "Register Employee Unsuccessfully" }));
                    }
                }

                else
                {
                    throw new Exception("Model is not valid");
                }
            }

            catch (Exception e)
            {
                return(this.BadRequest(new { Success = false, Message = e.Message }));
            }
        }
예제 #7
0
 public ActionResult UpdateEmployeeDetail(EmployeeDetailModel model)
 {
     if (_employeeService.UpdateEmployeeDetail(model))
     {
         return(Json(new { Success = true, Messages = "更新成功" }));
     }
     return(Json(new { Success = false, Messages = "更新失败,请刷新后重新操作" }));
 }
예제 #8
0
 public bool UpdateEmployeeDetails(EmployeeDetailModel objEmployeeDetailModel)
 {
     try
     {
         return(true);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #9
0
        public ActionResult <BaseResponeModel> SaveChange(EmployeeDetailModel model)
        {
            BaseResponeModel response = new BaseResponeModel();
            var databaseObject        = new Employee();
            int result;

            if (model.Id == 0)
            {
                databaseObject = model.MapTo <Employee>();

                if (string.IsNullOrEmpty(databaseObject.Code))
                {
                    var code = entityCenterRepository.GetCodeByEntity(nameof(Employee));

                    if (string.IsNullOrEmpty(code))
                    {
                        response = response.SetStatus(AppGlobal.Error).SetMessage(AppGlobal.MakeCodeError);
                        return(response);
                    }

                    databaseObject.Code = code;
                }

                if (employeeRepository.IsExistCode(databaseObject.Code))
                {
                    response = response.SetStatus(AppGlobal.Error).SetMessage(AppGlobal.ExistCodeError);
                    return(response);
                }

                databaseObject.InitBeforeSave(RequestUsername, InitType.Create);
                databaseObject.InitDefault();
                result = employeeRepository.Insert(databaseObject);
            }
            else
            {
                databaseObject = employeeRepository.GetById(model.Id);
                databaseObject.MapFrom(model);
                databaseObject.InitBeforeSave(RequestUsername, InitType.Update);
                databaseObject.InitDefault();
                result = employeeRepository.Update(databaseObject);
            }

            if (result > 0)
            {
                response.SetStatus(AppGlobal.Success).SetMessage(AppGlobal.SaveChangeSuccess);
            }
            else
            {
                response.SetStatus(AppGlobal.Error).SetMessage(AppGlobal.SaveChangeFalse);
            }

            return(response);
        }
예제 #10
0
        public bool UpdateEmployee(EmployeeDetailModel employeeDetailModel, int id)
        {
            try
            {
                return(this.employeeRL.UpdateEmployee(employeeDetailModel, id));                 //throw exceptions
            }

            catch (Exception e)
            {
                throw e;
            }
        }
예제 #11
0
        public EmployeeDetailModel RegisterEmployee(EmployeeDetailModel employeeDetailModel)
        {
            try
            {
                return(this.employeeRL.RegisterEmployee(employeeDetailModel));                 //throw exceptions
            }

            catch (Exception e)
            {
                throw e;
            }
        }
예제 #12
0
        private PayslipInfoViewModel CalculatePayslip(EmployeeDetailModel employeeDetail)
        {
            var payslip = new PayslipInfoViewModel();

            payslip.Name        = $"{employeeDetail.FirstName} {employeeDetail.LastName}";
            payslip.Payperiod   = employeeDetail.Payperiod;
            payslip.GrossIncome = Round(employeeDetail.AnnualSalary / NumberOfMonthInYear);
            payslip.IncomeTax   = Round(_taxCalculater.CalculateIncomeTax(employeeDetail.AnnualSalary) / NumberOfMonthInYear);
            payslip.NetIncome   = payslip.GrossIncome - payslip.IncomeTax;
            payslip.Super       = Round(payslip.GrossIncome * employeeDetail.SuperRate / 100);
            return(payslip);
        }
예제 #13
0
        [HttpGet("{id}")]                                                               //Creating a Get Api
        public IActionResult GetEmployee(int id)                                        //Here return type represents the result of an action method
        {
            try
            {                                                                                                                            //throw exception
                EmployeeDetailModel result = employeeBL.GetEmployee(id);                                                                 //getting the data from BusinessLayer
                return(this.Ok(new { Success = true, Message = "Get operation Successful retrive particular id data", Data = result })); //(smd format)    //this.Ok returns the data in json format
            }

            catch (Exception e)
            {
                return(this.BadRequest(new { Success = false, Message = e.Message }));
            }
        }
        public ActionResult Edit(EmployeeDetailModel item)
        {
            RegisterEmpRequestModel emp = new RegisterEmpRequestModel();

            emp.EmpId       = item.EmpId;
            emp.Name        = item.Name;
            emp.Gender      = item.Gender;
            emp.Department  = item.Department;
            emp.SalaryId    = item.SalaryId.ToString();
            emp.StartDate   = item.StartDate;
            emp.Description = item.Description;

            return(View(emp));
        }
예제 #15
0
        public ActionResult OperationDialogBox(int id = 0)
        {
            var objEmployeeDetailModel = new EmployeeDetailModel();

            if (id > 0)
            {
                objEmployeeDetailModel = objEmployee.GetEmployeeDetailsByID(id);
            }


            var techList = objTechnology.GetTechnologyList();

            objEmployeeDetailModel.TechnologyList = techList;
            return(PartialView(objEmployeeDetailModel));
        }
예제 #16
0
        public ActionResult OperationDialogBoxForDelete(int id = 0)
        {
            var objEmployeeDetailModel = new EmployeeDetailModel();

            if (id > 0)
            {
                objEmployeeDetailModel = objEmployee.GetEmployeeDetailsByID(id);
            }


            var techList = objTechnology.GetTechnologyList();

            objEmployeeDetailModel.TechnologyList = techList;
            ViewBag.deleteFlag = true;
            return(PartialView("OperationDialogBox", objEmployeeDetailModel));
        }
예제 #17
0
        public IHttpActionResult Post(EmployeeDetailModel EmployeeDetail)
        {
            try
            {
                if (EmployeeDetail == null)
                {
                    return(BadRequest("EmployeeDetail cannot be null or empty."));
                }

                Guid result = _employeedetailService.Create(EmployeeDetail);

                return(Created(result.ToString(), EmployeeDetail));
            }
            catch (Exception ex)
            {
                throw new ArgumentException(ex.Message);
            }
        }
예제 #18
0
        public IHttpActionResult Put(EmployeeDetailModel EmployeeDetail)
        {
            try
            {
                if (EmployeeDetail == null)
                {
                    return(BadRequest("EmployeeDetail cannot be null or empty."));
                }

                _employeedetailService.Update(EmployeeDetail);

                return(Ok());
            }
            catch (Exception ex)
            {
                throw new ArgumentException(ex.Message);
            }
        }
예제 #19
0
 /// <inheritdoc />
 public void Update(EmployeeDetailModel EmployeeDetail)
 {
     try
     {
         if (EmployeeDetail != null)
         {
             var result = Mapper.Map <EmployeeDetailModel, EmployeeDetail>(EmployeeDetail);
             _unitofWork.EmployeeDetailRepository.Update(result);
             _unitofWork.Save();
         }
         else
         {
             throw new ArgumentException("EmployeeDetail is empty");
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #20
0
 /// <inheritdoc />
 public Guid Create(EmployeeDetailModel EmployeeDetail)
 {
     try
     {
         if (EmployeeDetail != null)
         {
             //To do
             EmployeeDetail.EmpID = EmployeeDetail.EmpID == Guid.Empty ? Guid.NewGuid() : EmployeeDetail.EmpID;
             var result = Mapper.Map <EmployeeDetailModel, EmployeeDetail>(EmployeeDetail);
             _unitofWork.EmployeeDetailRepository.Add(result);
             _unitofWork.Save();
             return(EmployeeDetail.EmpID);
         }
         throw new ArgumentException("EmployeeDetail is empty");
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #21
0
 public static void MyClassInitialize(TestContext testContext)
 {
     inputEmployee1 = new EmployeeDetailModel()
     {
         FirstName = "David", LastName = "Rudd", AnnualSalary = 60050, SuperRate = 9, Payperiod = "01 March – 31 March"
     };
     inputEmployee2 = new EmployeeDetailModel()
     {
         FirstName = "Ryan", LastName = "Chen", AnnualSalary = 120000, SuperRate = 10, Payperiod = "01 March – 31 March"
     };
     payslip2 = new PayslipInfoViewModel()
     {
         Name        = "Ryan Chen",
         Payperiod   = inputEmployee2.Payperiod,
         GrossIncome = 10000,
         IncomeTax   = 2696,
         NetIncome   = 7304,
         Super       = 1000
     };
 }
        public static EmployeeDetailModel ToModel(this EmployeeInfo info)
        {
            if (info == null)
            {
                return(null);
            }
            var model = new EmployeeDetailModel
            {
                Id            = info.Id,
                EmployeeNo    = info.EmployeeNo,
                Name          = info.Name,
                Mobile        = info.Mobile,
                Gender        = info.Gender,
                Birthday      = info.Birthday,
                Authority     = info.Authority,
                Spend         = info.Spend,
                JoinDate      = info.JoinDate,
                Quit          = info.Quit,
                QuitDate      = info.QuitDate,
                LastUpdatedOn = info.LastUpdatedOn
            };

            if (info.Gender == 0)
            {
                model.GenderString = "女";
            }
            else
            {
                model.GenderString = "男";
            }
            if (info.Quit)
            {
                model.JoinStatus = "离职";
            }
            else
            {
                model.JoinStatus = "在职";
            }

            return(model);
        }
예제 #23
0
        public async Task <APIResponse> AddEmployeeDetail(EmployeeDetailModel model)
        {
            APIResponse response = new APIResponse();

            try
            {
                EmployeeDetail empObj = _mapper.Map <EmployeeDetail>(model);
                await _uow.EmployeeDetailRepository.AddAsyn(empObj);

                await _uow.SaveAsync();

                response.StatusCode = (int)HttpStatusCode.OK;
                response.Message    = "Success";
            }
            catch (Exception ex)
            {
                response.StatusCode = (int)HttpStatusCode.BadRequest;
                response.Message    = "Something went wrong !";
            }
            return(response);
        }
예제 #24
0
        public IHttpActionResult Get(Guid id)
        {
            try
            {
                if (id == Guid.Empty)
                {
                    return(BadRequest("EmployeeDetail Id cannot be empty."));
                }

                EmployeeDetailModel EmployeeDetail = _employeedetailService.GetEmployee(id);

                if (EmployeeDetail == null)
                {
                    return(NotFound());
                }

                return(Ok(EmployeeDetail));
            }
            catch (Exception ex)
            {
                throw new ArgumentException(ex.Message);
            }
        }
예제 #25
0
        /// <summary>
        /// 更新员工信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool UpdateEmployeeDetail(EmployeeDetailModel model)
        {
            if (model.Id == Guid.Empty || model.Mobile == null || model.Mobile == "")
            {
                return(false);
            }
            var employeeInfo = _employeeInfoRepository.GetById(model.Id);

            if (employeeInfo != null)
            {
                if (employeeInfo.Mobile != model.Mobile)
                {
                    if (_employeeInfoRepository.CheckMobile(model.Mobile, employeeInfo.Id))
                    {
                        employeeInfo.Mobile = model.Mobile;
                        var accountInfo = _accountInfoRepository.GetByEmployeeId(employeeInfo.Id);
                        accountInfo.Account = model.Mobile;
                        _accountInfoRepository.Update(accountInfo);
                        _employeeInfoRepository.Update(employeeInfo);
                    }
                }
            }
            return(true);
        }
예제 #26
0
 public EmployeeDetailController()
 {
     EmployeeDetailModel = new EmployeeDetailModel();
 }
예제 #27
0
        public bool AddEmployeeDetails(EmployeeDetailModel objEmployeeDetailModel)
        {
            try
            {
                var objEmployeeDetail = (from emp in ac.Employee_Details
                                         where emp.Emp_ID == objEmployeeDetailModel.Emp_ID
                                         select emp).FirstOrDefault();

                if (objEmployeeDetail != null)
                {
                    objEmployeeDetail.Emp_FirstName   = objEmployeeDetailModel.Emp_FirstName;
                    objEmployeeDetail.Emp_LastName    = objEmployeeDetailModel.Emp_LastName;
                    objEmployeeDetail.Emp_Email       = objEmployeeDetailModel.Emp_Email;
                    objEmployeeDetail.Emp_Designation = objEmployeeDetailModel.Emp_Designation;
                    objEmployeeDetail.UpdateDate      = DateTime.UtcNow;
                    objEmployeeDetail.UpdatedBy       = objEmployeeDetailModel.UpdatedBy;
                }
                else
                {
                    var objemployee = new Employee_Details()
                    {
                        Emp_ID          = objEmployeeDetailModel.Emp_ID,
                        Emp_FirstName   = objEmployeeDetailModel.Emp_FirstName,
                        Emp_LastName    = objEmployeeDetailModel.Emp_LastName,
                        Emp_Email       = objEmployeeDetailModel.Emp_Email,
                        Emp_Designation = objEmployeeDetailModel.Emp_Designation,
                        CreatedBy       = objEmployeeDetailModel.CreatedBy,
                        CreateDate      = DateTime.UtcNow,
                        UpdatedBy       = objEmployeeDetailModel.UpdatedBy,
                        UpdateDate      = DateTime.UtcNow
                    };
                    ac.Employee_Details.Add(objemployee);
                }

                ac.SaveChanges();

                //Add/edit technology details
                if (objEmployeeDetailModel != null && objEmployeeDetailModel.SeletedTechnology != null)
                {
                    var selectedIds       = objEmployeeDetailModel.SeletedTechnology.Split(',');
                    var lstEmployeeSkills = ac.Employee_Skill_Details.Where(eml => eml.Emp_ID == objEmployeeDetailModel.Emp_ID).ToList();
                    foreach (var objEmployeeSkill in lstEmployeeSkills)
                    {
                        ac.Employee_Skill_Details.Remove(objEmployeeSkill);
                    }
                    ac.SaveChanges();

                    foreach (var objTechnologyID in selectedIds)
                    {
                        var tid         = Convert.ToInt32(objTechnologyID);
                        var objempskill = new Employee_Skill_Details()
                        {
                            Emp_ID        = objEmployeeDetailModel.Emp_ID,
                            Technology_ID = tid,
                            UpdateDate    = DateTime.UtcNow,
                            CreateDate    = DateTime.UtcNow,
                            CreatedBy     = objEmployeeDetailModel.CreatedBy,
                            UpdatedBy     = objEmployeeDetailModel.UpdatedBy
                        };
                        ac.Employee_Skill_Details.Add(objempskill);
                    }
                    ac.SaveChanges();
                }

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 public SearchController()
 {
     EmployeeDetailModel = new EmployeeDetailModel();
 }
예제 #29
0
 public ProfileController()
 {
     EmployeeDetailModel = new EmployeeDetailModel();
 }
        public async Task <APIResponse> AddEmployeeDetail(EmployeeDetailModel model)
        {
            APIResponse apiresponse = await _iEmployee.AddEmployeeDetail(model);

            return(apiresponse);
        }