private void AddSingleMaterialRequests(string materialName) { var material = _db.Materials.First(x => x.Name == materialName); var locationsWithPlayers = _db.Locations.Where(x => x.RequestsPayed > 0).ToList(); foreach (var location in locationsWithPlayers) { var materialRequest = _db.MaterialsRequests .FirstOrDefault(x => x.IsPayed && x.LocationId == location.Id && x.Customer == "За взносы"); if (materialRequest != null) { var singleMaterialRequest = new SingleMaterialRequest { QuantityOrdered = material.AmountPerPayedRequestInLocation * location.RequestsPayed, QuantityServed = 0, MaterialId = material.Id, MaterialsRequestId = materialRequest.Id, }; _db.SingleMaterialRequests.Add(singleMaterialRequest); _db.SaveChanges(); } } }
private void AddMaterialsRequest(Location location) { var materialsRequest = new MaterialsRequest { Customer = "За взносы", IsPayed = true, LocationId = location.Id }; _db.MaterialsRequests.Add(materialsRequest); _db.SaveChanges(); var materialsForPayedRequests = _db.Materials.Where(x => x.AmountPerPayedRequestInLocation > 0).ToList(); foreach (var material in materialsForPayedRequests) { var singleMaterialRequest = new SingleMaterialRequest { MaterialId = material.Id, MaterialsRequestId = materialsRequest.Id, QuantityOrdered = location.RequestsPayed * material.AmountPerPayedRequestInLocation, QuantityServed = 0, }; _db.SingleMaterialRequests.Add(singleMaterialRequest); _db.SaveChanges(); } }
public async Task <ActionResult <SingleMaterialRequestInfoView> > Get(int id) { SingleMaterialRequest singleRequest = await _db.SingleMaterialRequests .Include(x => x.MaterialsRequest) .ThenInclude(x => x.Location) .FirstOrDefaultAsync(x => x.Id == id); if (singleRequest == null) { return(NotFound()); } var singleMaterialRequestInfoView = new SingleMaterialRequestInfoView { Id = singleRequest.Id, Customer = singleRequest.MaterialsRequest.Customer, IsPayed = singleRequest.MaterialsRequest.IsPayed, LocationName = singleRequest.MaterialsRequest.Location.Name, MaterialsRequestId = singleRequest.MaterialsRequestId, QuantityOrdered = singleRequest.QuantityOrdered, QuantityServed = singleRequest.QuantityServed, }; return(new ObjectResult(singleMaterialRequestInfoView)); }