public async Task <EmployeeEquipmentItemDTO> UpdateEmployeeEquipmentItemRecord(EmployeeEquipmentItemDTO EEItemDTO) { EmployeeEquipmentItem EEItem = await _context.FindAsync <EmployeeEquipmentItem>(EEItemDTO.EmployeeId, EEItemDTO.EquipmentItemId, EEItemDTO.DateBorrowed); if (EEItem.StatusId == (int)EmployeeEquipmentStatus.Returned) { return(ConvertFromEntityToDTO(EEItem)); } if (EEItemDTO.StatusId == (int)EmployeeEquipmentStatus.Returned || EEItemDTO.StatusId == (int)EmployeeEquipmentStatus.Destroyed || EEItemDTO.StatusId == (int)EmployeeEquipmentStatus.Sold) { EEItemDTO.DateRecordClosed = DateTime.Now; EEItem.DateRecordClosed = EEItemDTO.DateRecordClosed; EEItem.RecordStatusId = (int)EmployeeEquipmentRecordStatus.Closed; } EEItemDTO.Status = EmployeeEquipmentStatusStringFrom(EEItemDTO.StatusId); EEItem.StatusId = EEItemDTO.StatusId; _context.Entry(EEItem).State = EntityState.Modified; await _context.SaveChangesAsync(); var EEItemDTOWithEquipmentItem = await AddEquipmentItem(EEItemDTO); return(EEItemDTOWithEquipmentItem); }
/// <summary> /// Private helper method. Converts from EmployeeEquipmentItem (entity) to EmployeeEquipmentItemDTO object. /// </summary> /// <param name="EEItem"> /// EmployeeEquipmentItem: an entity object /// </param> /// <returns> /// EmployeeEquipmentItemDTO: a DTO object /// </returns> private EmployeeEquipmentItemDTO ConvertFromEntityToDTO(EmployeeEquipmentItem EEItem) { return(new EmployeeEquipmentItemDTO() { EmployeeId = EEItem.EmployeeId, EquipmentItemId = EEItem.EquipmentItemId, StatusId = EEItem.StatusId, DateBorrowed = EEItem.DateBorrowed, DateRecordClosed = EEItem.DateRecordClosed, }); }
public async Task <EmployeeEquipmentItemDTO> SetEquipmentItemAsBorrowedBy(int employeeId, EmployeeEquipmentItemDTO EEItemDTO) { if (!await CheckIfItemIsAvailable(EEItemDTO.EquipmentItemId)) { //client is asking to borrow a piece of equipment not available, but there's no way of knowing that record's CKs return(null); } EEItemDTO.StatusId = (int)EmployeeEquipmentStatus.Borrowed; EEItemDTO.DateBorrowed = DateTime.Now; EmployeeEquipmentItem EEItem = ConvertFromDTOtoEntity(EEItemDTO); EEItem.RecordStatusId = (int)EmployeeEquipmentRecordStatus.Open; _context.Entry(EEItem).State = EntityState.Added; await _context.SaveChangesAsync(); EEItemDTO.Status = ((EmployeeEquipmentStatus)EEItemDTO.StatusId).ToString(); var EEItemDTOWithEquipmentItem = await AddEquipmentItem(EEItemDTO); return(EEItemDTOWithEquipmentItem); }