Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
            }
        }