Пример #1
0
 public IActionResult AddComponentCost(ADDComponentCost input)
 {
     try
     {
         var response = _fabricationManagementService.AddComponentCost(input);
         return(Ok(response));
     }
     catch (Exception e)
     {
         Util.LogError(e);
         return(StatusCode(StatusCodes.Status500InternalServerError, new ErrorClass()
         {
             code = StatusCodes.Status500InternalServerError.ToString(), message = "Something went wrong"
         }));
     }
 }
Пример #2
0
        public ResponseMessage AddComponentCost(ADDComponentCost input)
        {
            try
            {
                ProjectStructure structid =
                    _context.ProjectStructure.Single(w => w.Id == input.ProjStructId);
                structid.FabriacationCost = input.Cost;
                ResponseMessage responseMessage = new ResponseMessage();
                //List<DispStructureComp> struct = _context.DispStructureComp.w
                List <Component>    structureComps = _context.Component.Where(w => w.ProjStructId == input.ProjStructId).ToList();
                decimal             count          = structureComps.Sum(x => x.Weight) ?? 1;
                decimal             x        = input.Cost / count;
                DispFabricationCost fabrcost = new DispFabricationCost();
                fabrcost.DispatchNo     = input.DispatchNo;
                fabrcost.DispReqId      = input.DispatchRequirementId;
                fabrcost.Status         = Util.GetDescription(commonEnum.StructureStatus.NEW).ToString();
                fabrcost.StatusInternal = Util.GetDescription(commonEnum.StructureStatus.NEW).ToString();
                _context.DispFabricationCost.Add(fabrcost);
                _context.ProjectStructure.Update(structid);
                _context.SaveChanges();

                structureComps.ForEach(item =>
                {
                    // DispStructureComp structureComps=_context.DispStructureComp.Single(w=>w.DispStructureId==item.DispStructureCompId);

                    item.FabriacationCost = item.Weight * x;
                    _context.Component.Update(item);
                    _context.SaveChanges();
                });



                responseMessage.Message = "Structure Cost Updated sucessfully";
                return(responseMessage);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }