Example #1
0
        public IHttpActionResult PutEmployee(int id, EmployeeDto employeeDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != employeeDto.UserId)
            {
                return(BadRequest());
            }

            var emp = db.Employees.Find(employeeDto.UserId);

            var elm = db.Users.FirstOrDefault(x => x.Email == employeeDto.Email);

            if (elm != null && elm.UserId != id)
            {
                return(BadRequest("Email is allready exists"));
            }

            employeeDto.UpateEmployee(emp);

            db.Entry(emp).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                return(InternalServerError());
            }
            catch (Exception)
            {
                return(InternalServerError());
            }

            return(Ok());
        }