예제 #1
0
        public async Task<IHttpActionResult> PostEmployee(Employee employee)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            employee.Deleted = false;
            employee.AddedOn = DateTime.Now;

            db.Employees.Add(employee);
            await db.SaveChangesAsync();

            for (byte i = 1; i <= 7; i++)
            {
                db.EmployeeSchedules.Add(new EmployeeSchedule
                {
                    DayOfWeek = i,
                    EmployeeID = employee.EmployeeID,
                    EndTime = new TimeSpan(18, 0, 0),
                    StartTime = new TimeSpan(10, 0, 0),
                    Holiday = false
                });
            }

            await db.SaveChangesAsync();

            var returnEmp = new EmplForListDTO()
            {
                EmployeeID = employee.EmployeeID,
                EmplSchedule = null,
                FirstName = employee.FirstName,
                ImageUrl = employee.ImageUrl,
                LastName = employee.LastName,
                MiddleName = employee.MiddleName,
                PositionID = employee.PositionID
            };

            return CreatedAtRoute("DefaultApi", new { id = employee.EmployeeID }, returnEmp);
        }
예제 #2
0
        public async Task<IHttpActionResult> DelEmployee(int id, Employee employee)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != employee.EmployeeID)
            {
                return BadRequest();
            }

            Employee emplFromDb = await db.Employees.FindAsync(id);

            emplFromDb.ImageUrl = null;

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

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

            return StatusCode(HttpStatusCode.NoContent);
        }