Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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());
        }