public async Task <IActionResult> AddBudget([FromBody] BudgetForDD budgetForCreate) { if (budgetForCreate == null) { return(BadRequest()); } Console.WriteLine("*******************************************************************************************************************************************************"); Console.WriteLine("**"); Console.WriteLine("** PhaseId: " + budgetForCreate.PhaseId); Console.WriteLine("** ProjId: " + budgetForCreate.ProjId); Console.WriteLine("** BudgetId: " + budgetForCreate.BudgetId); Console.WriteLine("**"); Console.WriteLine("*******************************************************************************************************************************************************"); budgetForCreate.EntryDt = DateTime.UtcNow; budgetForCreate.UserId = "Sai"; budgetForCreate.BudgetId = Guid.NewGuid(); var budget = _mapper.Map <Entities.ArmsBudget>(budgetForCreate); var budgetEntity = await _armsBudgetRepository.AddArmsBudgetAsync(budget, budgetForCreate.BudgetAmount, budgetForCreate.BudgetCategory, budgetForCreate.ProjId); var result = _mapper.Map <DTOs.BudgetForDD>(budgetEntity); result.BudgetCategory = budgetForCreate.BudgetCategory; return(Ok(result)); }
public async Task <IActionResult> AddBudget([FromBody] BudgetForDD budgetForCreate) { List <Entities.ArmsBudgetInventory> armsBudgetInventories; if (budgetForCreate == null) { return(BadRequest()); } budgetForCreate.EntryDt = DateTime.UtcNow; budgetForCreate.UserId = "Sai"; budgetForCreate.BudgetId = Guid.NewGuid(); var budget = _mapper.Map <Entities.ArmsBudget>(budgetForCreate); var budgetEntity = await _armsBudgetRepository.AddArmsBudgetAsync(budget, budgetForCreate.BudgetAmount, budgetForCreate.BudgetCategory, budgetForCreate.ProjId); //invoiceDetails = invoiceForCreate.InvoiceDetails.Select(d => new Entities.InvoiceDetail(invoiceToAdd.InvoiceId, "preicher", d)).ToList(); //invoiceDetails.ForEach(invDtl => _invoiceRepository.AddInvoiceDetail(invDtl)); armsBudgetInventories = budgetForCreate.ArmsBudgetInventories.Select(d => new Entities.ArmsBudgetInventory("sai", d, budgetEntity.BudgetId)).ToList(); armsBudgetInventories.ForEach(invDtl => _armsBudgetRepository.AddInventoryDetail(invDtl)); var result = _mapper.Map <DTOs.BudgetForDD>(budgetEntity); result.BudgetCategory = budgetForCreate.BudgetCategory; result.ArmsBudgetInventories = armsBudgetInventories; return(Ok(result)); }
public IActionResult UpdateBudget([FromBody] BudgetForDD budgetUpdate) { if (budgetUpdate == null) { return(BadRequest()); } var budget = _mapper.Map <Entities.ArmsBudget>(budgetUpdate); var result = _armsBudgetRepository.UpdateBudget(budget); return(Ok(result)); }
public async Task <IActionResult> UpdateBudget([FromBody] BudgetForDD budgetUpdate) { if (budgetUpdate == null) { return(BadRequest()); } var invoiceToUpdate = _mapper.Map <Entities.ArmsBudget>(budgetUpdate); var inventoryDetailsForUpdate = budgetUpdate.ArmsBudgetInventories.Select(d => new Entities.ArmsBudgetInventory("preicher", d, budgetUpdate.BudgetId)).ToList(); try { invoiceToUpdate = _armsBudgetRepository.UpdateBudget(invoiceToUpdate); var invDetlsFromRepo = await _armsBudgetRepository.GetInventoryDetailsByInventoryNumberIdAsync(budgetUpdate.BudgetId); var invDetlsToAdd = inventoryDetailsForUpdate.Where(item => !invDetlsFromRepo.Any(item2 => item2.InventoryNumber == item.InventoryNumber)).ToList(); var invDetlsToDelete = invDetlsFromRepo.Where(item => !inventoryDetailsForUpdate.Any(item2 => item2.InventoryNumber == item.InventoryNumber)).ToList(); var invDetlsToUpdate = (from indFromUpdate in budgetUpdate.ArmsBudgetInventories join indFromRepo in invDetlsFromRepo on indFromUpdate.InventoryNumber equals indFromRepo.InventoryNumber where indFromUpdate.InventoryNumber != indFromRepo.InventoryNumber select _mapper.Map(indFromUpdate, indFromRepo)).ToList(); invDetlsToDelete.ForEach(invDtl => _armsBudgetRepository.DeleteInventoryDetail(invDtl)); invDetlsToAdd.ForEach(invDtl => _armsBudgetRepository.AddInventoryDetail(invDtl)); invDetlsToUpdate.ForEach(invDtl => _armsBudgetRepository.UpdateInventoryDetail(invDtl)); var InvoiceToSend = _mapper.Map <DTOs.BudgetForDD>(invoiceToUpdate); foreach (var itm in inventoryDetailsForUpdate) { InvoiceToSend.ArmsBudgetInventories.Add(new Entities.ArmsBudgetInventory(itm.UserId, itm, itm.BudgetId));//(int budgetCategoryId, int? budgetId, decimal InvAmt) } InvoiceToSend.BudgetCategory = budgetUpdate.BudgetCategory; InvoiceToSend.ProjId = budgetUpdate.ProjId; return(Ok(InvoiceToSend)); } catch (Exception ex) { Log.Error(ex.Message); return(StatusCode(500)); } }