public async Task <ActionResult <DTOEmployee> > PostEmployee([FromBody] DTOEmployee employee)
        {
            _context.Employees.Add(employee);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetEmployee", new { id = employee.id }, employee));
        }
        public IActionResult EditEmployee(DTOEmployee DTOEmployee)

        {
            if (DTOEmployee.FirstName == null)
            {
                return(Json(new { message = "Validation Failed", error = "First name is requierd" }));
            }
            try
            {
                var employee     = mapper.Map <DTOEmployee, Employee>(DTOEmployee);
                var InsertResult = this.employeeServices.Update(employee);
                if (InsertResult)
                {
                    return(Ok());
                }
                else
                {
                    return(Json(new { error = "An error across while update employee please try again later." }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { error = ex.Message }));
            }
        }
        public Task <DataResult <DTOEmployee> > EditEmployeeAsync(DTOEmployee employeeDTO)
        {
            return(Task.Run(() =>
            {
                var employeeEntity = _mapper.Map <Employee>(employeeDTO);
                var updatedEmployeeDTO = new DTOEmployee();
                if ((employeeRepository.ExistByCondition(x => (x.Name == employeeEntity.Name && x.Id == employeeEntity.Id))) || (!employeeRepository.ExistByCondition(x => x.Name == employeeEntity.Name)))
                {
                    var updatedEmployeeEntity = employeeRepository.Update(employeeEntity);
                    _unitOfWork.SaveChanges();

                    updatedEmployeeDTO = _mapper.Map <DTOEmployee>(updatedEmployeeEntity);

                    return new DataResult <DTOEmployee> {
                        Errors = new List <ErrorDescriber>(), Target = updatedEmployeeDTO
                    };
                }
                else
                {
                    return new DataResult <DTOEmployee> {
                        Errors = new List <ErrorDescriber> {
                            new ErrorDescriber("Existed Employee Name")
                        }, Target = updatedEmployeeDTO
                    };
                }
            }));
        }
        public IActionResult EditEmployee(int id)
        {
            Employee    employee  = _unitOfWork.Employees.GetById(id);
            DTOEmployee model     = _mapper.Map <DTOEmployee>(employee);
            Inventory   inventory = _unitOfWork.Employees.GetInventory(id);

            model.InventoryId = inventory?.Id;
            //if (inventory == null)
            //    model.InventoryId = null;
            //else
            //    model.InventoryId = inventory.Id;
            model.Salary = _unitOfWork.Employees.GetSalary(id);
            model.Cities = _unitOfWork.Cities.GetAll()
                           .Select(x => new SelectListItem(x.Name, x.Id.ToString())).ToList();
            model.Genders = _unitOfWork.Employees.GetGenders()
                            .Select(x => new SelectListItem(x.Name, x.Id.ToString())).ToList();
            model.Inventories = _unitOfWork.Inventories.GetAll()
                                .Select(x => new SelectListItem(x.Name, x.Id.ToString())).ToList();
            if (model.InventoryId != null)
            {
                model.Inventories.Insert(0, new SelectListItem("--Choose inventory--", "null"));
            }

            return(View("AddEditEmployee", model));
        }
        public IActionResult AddEmployee(DTOEmployee DTOEmployee)

        {
            if (DTOEmployee.FirstName == null)
            {
                return(Json(new { message = "Validation Failed", error = "First name is requierd" }));
            }
            try
            {
                var employee   = mapper.Map <DTOEmployee, Employee>(DTOEmployee);
                var employeeId = this.employeeServices.Insert(employee);
                if (employeeId != 0)
                {
                    employee.Id = employeeId;
                    return(Json(employee));
                }
                else
                {
                    return(Json(new { error = "An error across while add employee please try again later." }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { error = ex.Message }));
            }
        }
        public async Task <IActionResult> PutEmployee(int id, [FromBody] DTOEmployee dTOEmployee)
        {
            if (id != dTOEmployee.id)
            {
                return(BadRequest());
            }

            _context.Entry(dTOEmployee).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DTOEmployeeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public void Edit(DTOEmployee model)
        {
            Address  address  = _mapper.Map <Address>(model.Address);
            Employee employee = _mapper.Map <Employee>(model);

            _context.Update(address);
            _context.SaveChanges();

            EmployeeInventory employeeInventory = _context.EmployeeInventories
                                                  .Where(x => x.EmployeeId == employee.Id && x.EndDate == null)
                                                  .FirstOrDefault();

            if (employeeInventory.InventoryId == null)
            {
                employeeInventory.InventoryId = model.InventoryId;
                if (employeeInventory.InventoryId != null)
                {
                    employeeInventory.HireDate = DateTime.Now;
                }
            }
            else
            {
                if (employeeInventory.InventoryId != model.InventoryId)
                {
                    employeeInventory.EndDate = DateTime.Now;
                    EmployeeInventory ei = new EmployeeInventory
                    {
                        EmployeeId  = employee.Id,
                        InventoryId = model.InventoryId,
                        HireDate    = null
                    };
                    if (ei.InventoryId != null)
                    {
                        ei.HireDate = DateTime.Now;
                    }
                    _context.Add(ei);
                    _context.SaveChanges();
                }
            }

            EmployeeSalaries employeeSalaries = _context.EmployeeSalaries
                                                .Where(x => x.EmployeeId == employee.Id && x.EndDate == null)
                                                .FirstOrDefault();

            if (employeeSalaries.Value != model.Salary)
            {
                employeeSalaries.EndDate = DateTime.Now;
                EmployeeSalaries es = new EmployeeSalaries
                {
                    EmployeeId = employee.Id,
                    Value      = model.Salary,
                    StartDate  = DateTime.Now
                };
                _context.Add(es);
                _context.SaveChanges();
            }

            base.Edit(employee);
        }
Esempio n. 8
0
        public void ConfigEmployee()
        {
            DTOEmployee dtoEmployee = new DTOEmployee {
                id = 1, contractTypeName = "HourlySalaryEmployee", hourlySalary = 200
            };

            this.Employee = new DTOEmployeeHour(dtoEmployee);
        }
Esempio n. 9
0
 public DTOEmployeeHour(DTOEmployee employee)
 {
     this.id               = employee.id;
     this.name             = employee.name;
     this.contractTypeName = employee.contractTypeName;
     this.roleName         = employee.roleName;
     this.hourlySalary     = employee.hourlySalary;
     this.monthlySalary    = employee.monthlySalary;
 }
Esempio n. 10
0
        public DTOEmployee ToDTO(Employee employee)
        {
            DTOEmployee dTOEmployee = new DTOEmployee();

            dTOEmployee.ID          = employee.ID;
            dTOEmployee.Name        = employee.Name;
            dTOEmployee.PhoneNumber = employee.PhoneNumber;
            return(dTOEmployee);
        }
        public IActionResult AddEmployee()
        {
            DTOEmployee model = new DTOEmployee();

            model.Cities = _unitOfWork.Cities.GetAll()
                           .Select(x => new SelectListItem(x.Name, x.Id.ToString())).ToList();
            model.Genders = _unitOfWork.Employees.GetGenders()
                            .Select(x => new SelectListItem(x.Name, x.Id.ToString())).ToList();
            model.Inventories = _unitOfWork.Inventories.GetAll()
                                .Select(x => new SelectListItem(x.Name, x.Id.ToString())).ToList();

            return(View("AddEditEmployee", model));
        }
        public IActionResult SaveEmployee(DTOEmployee model)
        {
            if (model.Id == 0)
            {
                _unitOfWork.Employees.Add(model);
            }
            else
            {
                _unitOfWork.Employees.Edit(model);
            }

            return(RedirectToAction(nameof(Index)));
        }
Esempio n. 13
0
 public string InsertEmployee(DTOEmployee employee)
 {
     if (employee != null)
     {
         _context.Add(employee);
         _context.SaveChanges();
         return("Employee Added Successfully");
     }
     else
     {
         return("Employee Not Inserted! Try Again");
     }
 }
Esempio n. 14
0
        /*For Get DTOEmployee Record by Id*/
        public DTOEmployee GetDTOEmployeeById(int id)
        {
            DTOEmployee objReturn = new DTOEmployee();

            try
            {
                objReturn = db.DTOEmployee.Where(x => x.Id == id && x.Status != 0).FirstOrDefault();
            }
            catch (DbEntityValidationException exp)
            {
                log.Error(exp);
            }
            return(objReturn);
        }
Esempio n. 15
0
        public IEmployee FindTypeEmployee(DTOEmployee employee)
        {
            switch (employee.contractTypeName)
            {
            case MONTHLYSALARYEMPLOYEE:
                return(new DTOEmployeeMonth(employee));

            case HOURLYSALARYEMPLOYEE:
                return(new DTOEmployeeHour(employee));

            default:
                throw new ApplicationException("Salary type not found!!!");
            }
        }
Esempio n. 16
0
        public JsonResult GetEmployeeById(string id)
        {
            List <DTOEmployee> employees = new List <DTOEmployee>();

            if (!string.IsNullOrEmpty(id))
            {
                DTOEmployee employee = _context.Employees.FirstOrDefault(x => x.id == int.Parse(id));
                if (employee != null)
                {
                    employees.Add(employee);
                }
            }
            else
            {
                employees = _context.Employees.ToList();
            }
            return(Json(employees));
        }
        public Task <DataResult <DTOEmployee> > CreateEmployeeAsync(DTOEmployee employeeDTO)
        {
            return(Task.Run(() =>
            {
                var createdEmployeeDTO = new DTOEmployee();
                var employeeEntity = _mapper.Map <Employee>(employeeDTO);

                if (!employeeRepository.ExistByCondition(x => x.Name == employeeEntity.Name ||
                                                         (!string.IsNullOrEmpty(x.Email) && x.Email == employeeEntity.Email)))
                {
                    var createdEmployeeEntity = employeeRepository.Insert(employeeEntity);
                    _unitOfWork.SaveChanges();

                    createdEmployeeDTO = _mapper.Map <DTOEmployee>(createdEmployeeEntity);
                }

                return new DataResult <DTOEmployee> {
                    Errors = new List <ErrorDescriber>(), Target = createdEmployeeDTO
                };
            }));
        }
        public Task <DataResult <DTOEmployee> > GetEmployeeByIdAsync(string employeeId)
        {
            return(Task.Run(() =>
            {
                var employeeDTO = new DTOEmployee();

                var employee = employeeRepository.GetById(employeeId);
                if (employee != null)
                {
                    employeeDTO = _mapper.Map <DTOEmployee>(employee);
                }
                else
                {
                    var identityNumber = employeeRepository.Identity(x => x.GenerateId) != null ? employeeRepository.Identity(x => x.GenerateId).GenerateId : 0;
                    employeeDTO.Id = IdentityGenerate.Create(identityNumber, new string[] { "", EntityPrefix.Employee.ToDefaultValue() }, NumberUnitType.Large);
                }

                return new DataResult <DTOEmployee> {
                    Errors = new List <ErrorDescriber>(), Target = employeeDTO
                };
            }));
        }
Esempio n. 19
0
        public ActionResult Detail(string id)
        {
            var intId = 0;

            int.TryParse(id, out intId);
            try
            {
                DTOEmployee dtoemployee = employeeRepository.GetDTOEmployeeById(intId);
                if (dtoemployee == null)
                {
                    return(RedirectToAction("Error404", "Error"));
                }
                else
                {
                    var path     = "/Uploads/default.jpg";
                    var fileName = dtoemployee.Id + ".jpg";
                    var savePath = Server.MapPath("~/Uploads/employee/") + dtoemployee.Id;
                    // Check for Directory, If exist
                    if (Directory.Exists(savePath))
                    {
                        path = "/Uploads/employee/" + dtoemployee.Id + "/" + fileName;
                    }
                    dtoemployee.Image = Common.ConcatHost(path);
                }
                employeeModel = new EmployeeModels
                {
                    dtoemployee = dtoemployee,
                };
            }
            catch (Exception ex)
            {
                log.Error(ex);
                ModelState.AddModelError("error", Translator.UnexpectedError);
            }
            return(View(employeeModel));
        }
        public void Add(DTOEmployee model)
        {
            Address  address  = _mapper.Map <Address>(model.Address);
            Employee employee = _mapper.Map <Employee>(model);

            _context.Addresses.Add(address);
            _context.SaveChanges();

            employee.AddressId = address.Id;
            employee.Username  = model.FirstName.ToLower() + model.LastName.Substring(0, 1).ToLower();
            int b = 0;

            foreach (var x in _context.Users.ToList())
            {
                if (x.UserName == employee.Username)
                {
                    b++;
                }
            }
            if (b > 0)
            {
                employee.Username += b.ToString();
            }
            employee.PasswordHash = "AQAAAAEAACcQAAAAEA27GXFgUsI5e3+EHt0MSqROepea6LqlbFSugDckdIrVK+MyaYbiqZABm4qUmjep+A==";
            _context.Add(employee);
            _context.SaveChanges();

            EmployeeInventory employeeInventory = new EmployeeInventory
            {
                EmployeeId  = employee.Id,
                InventoryId = model.InventoryId,
                HireDate    = null,
                EndDate     = null
            };

            if (employeeInventory.InventoryId != null)
            {
                employeeInventory.HireDate = DateTime.Now;
            }
            _context.Add(employeeInventory);
            _context.SaveChanges();

            EmployeeSalaries employeeSalary = new EmployeeSalaries
            {
                EmployeeId = employee.Id,
                Value      = model.Salary,
                StartDate  = DateTime.Now,
                EndDate    = null
            };

            _context.Add(employeeSalary);
            _context.SaveChanges();

            ApplicationUser user = new ApplicationUser
            {
                UserName           = employee.Username,
                NormalizedUserName = employee.Username.ToUpper(),
                Email                = employee.Username + "@ims.ba",
                NormalizedEmail      = (employee.Username + "@ims.ba").ToUpper(),
                EmailConfirmed       = true,
                PhoneNumber          = employee.PhoneNumber,
                PhoneNumberConfirmed = false,
                PasswordHash         = employee.PasswordHash,
                SecurityStamp        = Guid.NewGuid().ToString(),
                ConcurrencyStamp     = Guid.NewGuid().ToString()
            };

            _context.Users.Add(user);
            _context.SaveChanges();

            ApplicationUserRole userRole = new ApplicationUserRole
            {
                UserId = user.Id,
                RoleId = 2
            };

            _context.UserRoles.Add(userRole);
            _context.SaveChanges();

            Person person = new Person
            {
                Active         = true,
                CreatedDate    = DateTime.Now,
                FirstName      = employee.FirstName,
                LastName       = employee.LastName,
                GenderId       = employee.GenderId,
                PhoneNumber    = employee.PhoneNumber,
                IdentityUserId = user.Id
            };

            _context.Persons.Add(person);
            _context.SaveChanges();
        }
 public async Task <IHttpActionResult> Put([FromBody] DTOEmployee employeeDTO)
 {
     return(await ExecuteServiceReturnDefaultResult(() => _serviceParameter.EmployeeService.EditEmployeeAsync(employeeDTO), false));
 }