コード例 #1
0
        public async Task <SimpleResult> SaveMaterialItems(TimesheetCodeInput input)
        {
            try
            {
                var timesheet = await _context.TimeSheets.Where(x => x.Code == input.Code).FirstOrDefaultAsync();

                foreach (var mat in input.Materials)
                {
                    var materials = await _context.Materials.Where(x => x.StockCode == mat.StockCode).FirstOrDefaultAsync();

                    if (materials != null)
                    {
                        var inventory = await _context.Inventories.Where(x => x.MaterialId == materials.Id).FirstOrDefaultAsync();

                        var matItemPoco = new MaterialItemPoco
                        {
                            BOM_No           = mat.BOM_No,
                            Deleted          = false,
                            TimeSheetId      = timesheet.Id,
                            Quantity         = Convert.ToDecimal(mat.Quantity),
                            StockDescription = mat.StockDescription,
                            StockCode        = mat.StockCode
                        };
                        inventory.Quantity = inventory.Quantity - matItemPoco.Quantity;
                        _context.Entry(inventory).State = EntityState.Modified;
                        _context.MaterialItems.Add(matItemPoco);
                    }
                    else
                    {
                        var non = new NonMaterialItemPoco
                        {
                            BOM_No      = mat.BOM_No,
                            Deleted     = false,
                            Description = mat.StockDescription,
                            Metric      = mat.Quantity.ToString(),
                            TimeSheetId = timesheet.Id
                        };
                        _context.NonMaterialItems.Add(non);
                    }
                }
                await _context.SaveChangesAsync();

                return(new SimpleResult
                {
                    IsSuccess = true
                });
            }
            catch
            {
                return(new SimpleResult
                {
                    IsSuccess = true
                });
            }
        }
コード例 #2
0
        public async Task <JsonResult> SaveMaterialItems([FromBody] TimesheetCodeInput input)
        {
            var result = await _timesheet.SaveMaterialItems(input);

            return(await GenerateResult(result, _userSettings));
        }