예제 #1
0
        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);
        }
예제 #2
0
 /// <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,
     });
 }
예제 #3
0
        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);
        }