public async Task AddWorkOrder(SingleWorkOrder workOrder) { var tech = await _context.Technicians.SingleOrDefaultAsync(t => t.Id == workOrder.Technician.Id); var wo = _mapper.Map <WorkOrder>(workOrder); if (workOrder.Location != null) { wo.Location = await _context.Location.SingleOrDefaultAsync(l => l.Id == workOrder.Location.Id); } wo.Technician = tech; wo.UserAdded = await GetUser().ConfigureAwait(false); wo.DateAdded = DateTime.UtcNow; wo.LastUpdated = DateTime.UtcNow; wo.Photos = await _photoService.UploadPictures(workOrder.Pictures).ConfigureAwait(false); _context.WorkOrders.Add(wo); await _context.SaveChangesAsync().ConfigureAwait(false); }
public async Task UpdateWorkOrder(SingleWorkOrder workOrder) { if (workOrder.Id is null) { await AddWorkOrder(workOrder).ConfigureAwait(false); return; } var wo = _mapper.Map <WorkOrder>(workOrder); _context.WorkOrders.Attach(wo); var entry = _context.Entry(wo); entry.State = EntityState.Modified; entry.Property(nameof(WorkOrder.DateAdded)).IsModified = false; wo.UserAdded = await GetUser().ConfigureAwait(false); wo.LastUpdated = DateTime.UtcNow; wo.Photos = await _photoService.UploadPictures(workOrder.Pictures.Where(p => !p.IsDeleted)).ConfigureAwait(false); await _photoService.UpdateDeletedPhotos(workOrder.Pictures.Where(p => p.IsDeleted)).ConfigureAwait(false); await _context.SaveChangesAsync().ConfigureAwait(false); }
public async Task <ActionResult <SingleWorkOrder> > UpdateWorkOrder(SingleWorkOrder workOrder) { await _workOrderService.UpdateWorkOrder(workOrder); return(Ok()); }
public async Task <IActionResult> AddWorkOrder(SingleWorkOrder workOrder) { await _workOrderService.AddWorkOrder(workOrder).ConfigureAwait(false); return(Ok()); }