public async Task <EquipmentAttachmentViewModel> EditEquipmentAttachmentAsync(User user, EditEquipmentAttachmentFormModel equipmentAttachmentForm) { try { Equipment equipment = null; equipment = _context.Equipments.FirstOrDefault(c => c.Id == equipmentAttachmentForm.EquipmentId); if (equipment != null) { var isDuplicateEquipmentAtt = _context.EquipmentAttachments.Any(c => c.Id != equipmentAttachmentForm.EquipmentAttachmentId && c.EquipmentId == equipmentAttachmentForm.EquipmentId && c.EquipmentAttachmentName == equipmentAttachmentForm.EquipmentAttachmentName.ToLower() && c.EquipmentAttachmentType == equipmentAttachmentForm.EquipmentAttachmentType); if (!isDuplicateEquipmentAtt) { var equipmentAtt = await _context.EquipmentAttachments.FindAsync(equipmentAttachmentForm.EquipmentAttachmentId); if (equipmentAtt != null) { equipmentAtt.Description = equipmentAttachmentForm.Description; equipmentAtt.EquipmentAttachmentName = equipmentAttachmentForm.EquipmentAttachmentName.ToLower(); equipmentAtt.EquipmentAttachmentType = equipmentAttachmentForm.EquipmentAttachmentType; equipmentAtt.EquipmentId = equipmentAttachmentForm.EquipmentId; if (equipmentAttachmentForm.UploadFileId != null) { var fileAddress = _context.FileAddresses.Find(equipmentAttachmentForm.UploadFileId); if (fileAddress is null) { throw new ExperienceManagementGlobalException(IssueServiceErrors.NotExistFileAddressError); } equipmentAtt.FileId = fileAddress.FileId; equipmentAtt.FileSize = fileAddress.FileSize; equipmentAtt.FileType = fileAddress.FileType; } _context.EquipmentAttachments.Update(equipmentAtt); await _context.SaveChangesAsync(); return(new EquipmentAttachmentViewModel() { EquipmentAttachmentId = equipmentAtt.Id, CreationDate = equipmentAtt.CreationDate, Description = equipmentAtt.Description, EquipmentAttachmentName = equipmentAtt.EquipmentAttachmentName, EquipmentId = equipmentAtt.EquipmentId, EquipmentAttachmentType = equipmentAtt.EquipmentAttachmentType, FileId = equipmentAtt.FileId, FileSize = equipmentAtt.FileSize, FileType = equipmentAtt.FileType }); } throw new ExperienceManagementGlobalException(EquipmentServiceErrors.EditEquipmentAttachmentNotFoundError); } throw new ExperienceManagementGlobalException(EquipmentServiceErrors.AddDuplicateEquipmentAttachmentError); } throw new ExperienceManagementGlobalException(EquipmentServiceErrors.EditEquipmentNotExistError); } catch (Exception ex) { throw new ExperienceManagementGlobalException(EquipmentServiceErrors.AddEquipmentAttachmentError, ex); } }
public async Task <IActionResult> EditEquipmentAttachment([FromBody] EditEquipmentAttachmentFormModel equipmentAttachmentForm) { var equipments = await _equipmentService.EditEquipmentAttachmentAsync(HttpContext.GetUser(), equipmentAttachmentForm); return(Ok(GetRequestResult(equipments))); }