public string Create(UserClaim creator, List <AccessoryInputModel> model) { try { var accessories = model.ConvertAll <Accessory>(input => { var provider = _providerService.Get(input.ProviderId); var type = _accTypeService.Get(input.AccessoryTypeId); return(new Accessory() { Name = input.Name, Quantity = input.Quantity, Unit = input.Unit, Provider = provider, AccessoryType = type, ReceiptPrice = input.ReceiptPrice, ExpiredDate = input.ExpiredTime, Description = input.Description }); }); var res = _accessoryService.Create(accessories); if (res == null) { return(null); } int index = -1; var details = res.ConvertAll <AccessoryReceiptDetail>(accessory => { index++; return(new AccessoryReceiptDetail() { Quantity = accessory.Quantity, UnitPrice = accessory.ReceiptPrice, Unit = accessory.Unit, AccessoryId = accessory.Id, ExpiredTime = model[index].ExpiredTime }); }); double total = details.Sum(detail => detail.Quantity * detail.UnitPrice); AccessoryReceipt newReceipt = new AccessoryReceipt() { CreatedDate = DateTime.Now, Creator = creator, TotalAmount = total, Details = details.ToArray() }; _accessoryReceipt.InsertOne(newReceipt); return(newReceipt.Id); } catch { return(null); } }
public void Remove(AccessoryReceipt accessoryReceiptIn) => _accessoryReceipt.DeleteOne(accessoryReceipt => accessoryReceipt.Id == accessoryReceiptIn.Id);
public void Update(string id, AccessoryReceipt accessoryReceiptIn) => _accessoryReceipt.ReplaceOne(accessoryReceipt => accessoryReceipt.Id == id, accessoryReceiptIn);