public JsonResult GetProductivityUnitData([FromBody] int ProductivityUnitNo) { UnidadesProdutivas ProductivityUnitDB = DBProductivityUnits.GetById(ProductivityUnitNo); ProductivityUnitViewModel result = new ProductivityUnitViewModel(); if (ProductivityUnitDB != null) { result = DBProductivityUnits.ParseToViewModel(ProductivityUnitDB); result.BillingProjects = DBProjectBilling.ParseListToViewModel(DBProjectBilling.GetByNUnidadeProdutiva(result.ProductivityUnitNo)); result.CoffeeShops = DBCoffeeShops.ParseListToViewModel(DBCoffeeShops.GetByNUnidadeProdutiva(result.ProductivityUnitNo), _config.NAVDatabaseName, _config.NAVCompanyName); } else { result.ProductivityUnitNo = new int(); result.BillingProjects = new List <DBProjectBillingViewModel>(); result.CoffeeShops = new List <CoffeeShopViewModel>(); } //Get Project Movements Values if (String.IsNullOrEmpty(result.ProjectKitchen)) { List <MovimentosDeProjeto> KMovements = DBProjectMovements.GetByProjectNo(result.ProjectKitchen); result.ProjectKitchenTotalMovs = KMovements.Where(x => x.PreçoTotal.HasValue).Sum(x => x.PreçoTotal.Value); } if (String.IsNullOrEmpty(result.ProjectSubsidiaries)) { List <MovimentosDeProjeto> SMovements = DBProjectMovements.GetByProjectNo(result.ProjectSubsidiaries); result.ProjectSubsidiariesTotalMovs = SMovements.Where(x => x.PreçoTotal.HasValue).Sum(x => x.PreçoTotal.Value); } if (String.IsNullOrEmpty(result.ProjectWasteFeedstock)) { List <MovimentosDeProjeto> WMovements = DBProjectMovements.GetByProjectNo(result.ProjectWasteFeedstock); result.ProjectWasteFeedstockTotalMovs = WMovements.Where(x => x.PreçoTotal.HasValue).Sum(x => x.PreçoTotal.Value); } return(Json(result)); }
private List <ProjectMovementViewModel> GetProjectMovements(bool?billable) { List <ProjectMovementViewModel> projectMovements = DBProjectMovements.GetProjectMovementsFor(this.ProjectNo, billable) .ParseToViewModel(navDatabaseName, navCompanyName) .OrderBy(x => x.ClientName).ToList(); if (projectMovements.Count > 0) { var userDimensions = Logic.DBUserDimensions.GetByUserId(userName); foreach (var lst in projectMovements) { if (lst.MovementType == 3) { lst.Quantity = Math.Abs((decimal)lst.Quantity) * (-1); } if (!String.IsNullOrEmpty(lst.Currency)) { lst.UnitPrice = lst.UnitValueToInvoice; } } List <UserDimensionsViewModel> userDimensionsViewModel = userDimensions.ParseToViewModel(); if (userDimensionsViewModel.Where(x => x.Dimension == (int)Dimensions.Region).Count() > 0) { projectMovements.RemoveAll(x => !userDimensionsViewModel.Any(y => y.DimensionValue == x.RegionCode)); } if (userDimensionsViewModel.Where(x => x.Dimension == (int)Dimensions.FunctionalArea).Count() > 0) { projectMovements.RemoveAll(x => !userDimensionsViewModel.Any(y => y.DimensionValue == x.FunctionalAreaCode)); } if (userDimensionsViewModel.Where(x => x.Dimension == (int)Dimensions.ResponsabilityCenter).Count() > 0) { projectMovements.RemoveAll(x => !userDimensionsViewModel.Any(y => y.DimensionValue == x.ResponsabilityCenterCode)); } } return(projectMovements); }