public List <BillingReceptionModel> GetPendingOnAreas(string userName)
        {
            UserConfigurationsViewModel userConfig = DBUserConfigurations.GetById(userName).ParseToViewModel();

            if (userConfig != null)
            {
                var billingReceptions = repo.GetPendingOnAreas(userConfig.RFPerfil, userConfig.RFFiltroArea, userConfig.RFPerfilVisualizacao);

                if (userConfig.RFPerfilVisualizacao.HasValue && userConfig.RFPerfilVisualizacao.Value == BillingReceptionUserProfiles.Tudo)
                {
                    //Apply User Dimensions Validations
                    List <AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(userName);
                    if (userDimensions.Where(x => x.Dimensão == (int)Dimensions.Region).Count() > 0)
                    {
                        billingReceptions.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.Region && y.ValorDimensão == x.CodRegiao));
                    }

                    if (userDimensions.Where(x => x.Dimensão == (int)Dimensions.ResponsabilityCenter).Count() > 0)
                    {
                        billingReceptions.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.ResponsabilityCenter && y.ValorDimensão == x.CodCentroResponsabilidade));
                    }
                }
                return(billingReceptions);
            }
            else
            {
                return(null);
            }
        }
        public JsonResult GetProductivityUnits()
        {
            List <ProductivityUnitViewModel> result = DBProductivityUnits.ParseListToViewModel(DBProductivityUnits.GetAll());

            if (result != null)
            {
                result.ForEach(x =>
                {
                    x.ClientName = DBNAV2017Clients.GetClientNameByNo(x.ClientNo, _config.NAVDatabaseName, _config.NAVCompanyName);
                });

                //Apply User Dimensions Validations
                List <AcessosDimensões> CUserDimensions = DBUserDimensions.GetByUserId(User.Identity.Name);
                //Regions
                if (CUserDimensions.Where(y => y.Dimensão == (int)Dimensions.Region).Count() > 0)
                {
                    result.RemoveAll(x => !CUserDimensions.Any(y => y.Dimensão == (int)Dimensions.Region && y.ValorDimensão == x.CodeRegion));
                }
                //FunctionalAreas
                if (CUserDimensions.Where(y => y.Dimensão == (int)Dimensions.FunctionalArea).Count() > 0)
                {
                    result.RemoveAll(x => !CUserDimensions.Any(y => y.Dimensão == (int)Dimensions.FunctionalArea && y.ValorDimensão == x.CodeFunctionalArea));
                }
                //ResponsabilityCenter
                if (CUserDimensions.Where(y => y.Dimensão == (int)Dimensions.ResponsabilityCenter).Count() > 0)
                {
                    result.RemoveAll(x => !CUserDimensions.Any(y => y.Dimensão == (int)Dimensions.ResponsabilityCenter && y.ValorDimensão == x.CodeResponsabilityCenter));
                }
            }
            return(Json(result));
        }
        public JsonResult GetAllReqTemplates()
        {
            var items = DBSimplifiedReqTemplates.ParseToViewModel(DBSimplifiedReqTemplates.GetAll());

            //Apply User Dimensions Validations
            List <AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(User.Identity.Name);

            //Regions
            if (userDimensions.Where(y => y.Dimensão == (int)Enumerations.Dimensions.Region).Count() > 0)
            {
                items.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Enumerations.Dimensions.Region && (y.ValorDimensão == x.CodeRegion || string.IsNullOrEmpty(x.CodeRegion))));
            }
            //FunctionalAreas
            if (userDimensions.Where(y => y.Dimensão == (int)Enumerations.Dimensions.FunctionalArea).Count() > 0)
            {
                items.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Enumerations.Dimensions.FunctionalArea && (y.ValorDimensão == x.CodeFunctionalArea || string.IsNullOrEmpty(x.CodeFunctionalArea))));
            }
            //ResponsabilityCenter
            if (userDimensions.Where(y => y.Dimensão == (int)Enumerations.Dimensions.ResponsabilityCenter).Count() > 0)
            {
                items.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Enumerations.Dimensions.ResponsabilityCenter && (y.ValorDimensão == x.CodeResponsabilityCenter || string.IsNullOrEmpty(x.CodeResponsabilityCenter))));
            }

            return(Json(items.OrderByDescending(x => x.RequisitionTemplateId)));
        }
        public JsonResult GetRequisitionTemplates()
        {
            List <RequisitionTemplateViewModel> result = DBRequestTemplates.GetAll().ParseToTemplateViewModel();

            //Apply User Dimensions Validations
            List <AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(User.Identity.Name);

            //Regions
            if (userDimensions.Where(y => y.Dimensão == (int)Dimensions.Region).Count() > 0)
            {
                result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.Region && y.ValorDimensão == x.RegionCode));
            }
            //FunctionalAreas
            if (userDimensions.Where(y => y.Dimensão == (int)Dimensions.FunctionalArea).Count() > 0)
            {
                result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.FunctionalArea && y.ValorDimensão == x.FunctionalAreaCode));
            }
            //ResponsabilityCenter
            if (userDimensions.Where(y => y.Dimensão == (int)Dimensions.ResponsabilityCenter).Count() > 0)
            {
                result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.ResponsabilityCenter && y.ValorDimensão == x.CenterResponsibilityCode));
            }

            return(Json(result.OrderByDescending(x => x.RequisitionNo)));
        }
Example #5
0
        public static List <NAVDimValueViewModel> GetById(string NAVDatabaseName, string NAVCompanyName, int NAVDimType, string UserId, string RespCenter)
        {
            try
            {
                List <NAVDimValueViewModel> result = new List <NAVDimValueViewModel>();
                using (var ctx = new SuchDBContextExtention())
                {
                    var parameters = new[] {
                        new SqlParameter("@DBName", NAVDatabaseName),
                        new SqlParameter("@CompanyName", NAVCompanyName),
                        new SqlParameter("@TipoDim", NAVDimType),
                        new SqlParameter("@RespCenter", RespCenter)
                    };

                    IEnumerable <dynamic> data = ctx.execStoredProcedure("exec NAV2017ValoresDimensao @DBName, @CompanyName, @TipoDim, @RespCenter", parameters);

                    foreach (dynamic temp in data)
                    {
                        result.Add(new NAVDimValueViewModel()
                        {
                            Code       = (string)temp.Code,
                            Name       = (string)temp.Name,
                            DimValueID = (int)temp.DimValueID
                        });
                    }


                    if (result.Count > 0)
                    {
                        var userDimensions = DBUserDimensions.GetByUserId(UserId);
                        if (userDimensions != null)
                        {
                            List <UserDimensionsViewModel> userDimensionsViewModel = userDimensions.ParseToViewModel();
                            userDimensionsViewModel.RemoveAll(x => x.Dimension != NAVDimType);
                            if (userDimensionsViewModel.Count > 0)
                            {
                                result.RemoveAll(x => !userDimensionsViewModel.Any(y => y.DimensionValue == x.Code));
                            }
                        }
                    }
                }


                return(result);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Example #6
0
        public JsonResult GetList()
        {
            List <ViaturasViewModel> result = DBViatura.ParseListToViewModel(DBViatura.GetAllToList());

            //Apply User Dimensions Validations
            List <AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(User.Identity.Name);

            if (userDimensions.Where(y => y.Dimensão == (int)Dimensions.Region).Count() > 0)
            {
                result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.Region && y.ValorDimensão == x.CodigoRegiao));
            }
            if (userDimensions.Where(y => y.Dimensão == (int)Dimensions.FunctionalArea).Count() > 0)
            {
                result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.FunctionalArea && y.ValorDimensão == x.CodigoAreaFuncional));
            }
            if (userDimensions.Where(y => y.Dimensão == (int)Dimensions.ResponsabilityCenter).Count() > 0)
            {
                result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.ResponsabilityCenter && y.ValorDimensão == x.CodigoCentroResponsabilidade));
            }

            result.ForEach(x =>
            {
                if (x.Estado != null)
                {
                    x.EstadoDescricao = EnumerablesFixed.ViaturasEstado.Where(y => y.Id == x.Estado).FirstOrDefault().Value;
                }
                if (x.TipoCombustivel != null && x.TipoCombustivel != 0)
                {
                    x.TipoCombustivelDescricao = EnumerablesFixed.ViaturasTipoCombustivel.Where(y => y.Id == x.TipoCombustivel).FirstOrDefault().Value;
                }
                if (x.TipoPropriedade != null && x.TipoPropriedade != 0)
                {
                    x.TipoPropriedadeDescricao = EnumerablesFixed.ViaturasTipoPropriedade.Where(y => y.Id == x.TipoPropriedade).FirstOrDefault().Value;
                }
                if (!string.IsNullOrEmpty(x.CodigoMarca))
                {
                    x.Marca = DBMarcas.ParseToViewModel(DBMarcas.GetById(Int32.Parse(x.CodigoMarca)));
                }
                if (!string.IsNullOrEmpty(x.CodigoModelo))
                {
                    x.Modelo = DBModelos.ParseToViewModel(DBModelos.GetById(Int32.Parse(x.CodigoModelo)));
                }
                if (!string.IsNullOrEmpty(x.CodigoTipoViatura))
                {
                    x.TipoViatura = DBTiposViaturas.ParseToViewModel(DBTiposViaturas.GetById(Int32.Parse(x.CodigoTipoViatura)));
                }
            });

            return(Json(result));
        }
        public JsonResult GetListGuiasTransporteNav([FromBody] JObject requestParams)
        {
            bool historic = requestParams["Historic"] == null ? false : bool.Parse(requestParams["Historic"].ToString());
            List <AcessosDimensões>           userDimensions = DBUserDimensions.GetByUserId(User.Identity.Name);
            List <GuiaTransporteNavViewModel> result         = DBNAV2017GuiasTransporte.GetListByDim(_config.NAVDatabaseName, _config.NAVCompanyName, userDimensions, historic);

            if (historic)
            {
                ViewBag.Historic   = "(Histórico) ";
                ViewBag.ifHistoric = true;
            }
            else
            {
                ViewBag.Historic   = " ";
                ViewBag.ifHistoric = false;
            }
            return(Json(result));
        }
Example #8
0
        public JsonResult SimplifiedRequisitionsPage([FromBody] string option)
        {
            List <SimplifiedRequisitionViewModel> result;

            //‘Requisições simplificadas para Registar’ com estado aprovado
            if (option == "registar")
            {
                result = DBSimplifiedRequisitions.ParseToViewModel(DBSimplifiedRequisitions.GetByApprovals(2));
                HttpContext.Session.SetString("aprovadoSession", option);
            }
            //Histórico de Requisições simplificadas
            else if (option == "historico")
            {
                result = DBSimplifiedRequisitions.ParseToViewModel(DBSimplifiedRequisitions.GetByApprovals(3));
                HttpContext.Session.SetString("aprovadoSession", option);
            }
            //‘Requisições simplificadas’ com utilizador
            else
            {
                HttpContext.Session.SetString("aprovadoSession", "");
                result = DBSimplifiedRequisitions.ParseToViewModel(DBSimplifiedRequisitions.GetByCreateResponsiblePendente(User.Identity.Name));
            }
            if (result != null)
            {
                //Apply User Dimensions Validations
                List <AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(User.Identity.Name);
                //Regions
                if (userDimensions.Where(y => y.Dimensão == (int)Enumerations.Dimensions.Region).Count() > 0)
                {
                    result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Enumerations.Dimensions.Region && (y.ValorDimensão == x.RegionCode || string.IsNullOrEmpty(x.RegionCode))));
                }
                //FunctionalAreas
                if (userDimensions.Where(y => y.Dimensão == (int)Enumerations.Dimensions.FunctionalArea).Count() > 0)
                {
                    result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Enumerations.Dimensions.FunctionalArea && (y.ValorDimensão == x.FunctionalAreaCode || string.IsNullOrEmpty(x.FunctionalAreaCode))));
                }
                //ResponsabilityCenter
                if (userDimensions.Where(y => y.Dimensão == (int)Enumerations.Dimensions.ResponsabilityCenter).Count() > 0)
                {
                    result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Enumerations.Dimensions.ResponsabilityCenter && (y.ValorDimensão == x.ResponsabilityCenterCode || string.IsNullOrEmpty(x.ResponsabilityCenterCode))));
                }
            }
            return(Json(result));
        }
        public List <BillingReceptionModel> GetAllForUserHist(string userName, BillingReceptionUserProfiles?viewProfile)
        {
            var billingReceptions = repo.GetAllHistory();

            if (viewProfile.HasValue && viewProfile.Value == BillingReceptionUserProfiles.Tudo)
            {
                //Apply User Dimensions Validations
                List <AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(userName);
                if (userDimensions.Where(x => x.Dimensão == (int)Dimensions.Region).Count() > 0)
                {
                    billingReceptions.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.Region && y.ValorDimensão == x.CodRegiao));
                }

                if (userDimensions.Where(x => x.Dimensão == (int)Dimensions.ResponsabilityCenter).Count() > 0)
                {
                    billingReceptions.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.ResponsabilityCenter && y.ValorDimensão == x.CodCentroResponsabilidade));
                }
            }
            return(billingReceptions);
        }
        public JsonResult GetRequisicoes()
        {
            List <RequisitionStates> states = new List <RequisitionStates>()
            {
                RequisitionStates.Approved,
                RequisitionStates.Archived,
                RequisitionStates.Available,
                RequisitionStates.Consulta,
                RequisitionStates.Encomenda,
                RequisitionStates.Pending,
                RequisitionStates.Received,
                RequisitionStates.Treated,
                RequisitionStates.Validated
            };

            List <AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(User.Identity.Name);


            List <RequisitionViewModel> requisitions = DBRequest.GetByState(states, userDimensions, _config.NAVDatabaseName, _config.NAVCompanyName).ParseToViewModel();

            return(Json(requisitions));
        }
        public JsonResult GetMovementProduct()
        {
            List <ProductMovementViewModel> result;

            if (HttpContext.Session.GetString("productNo") == null)
            {
                result = DBProductMovement.ParseToViewModel(DBProductMovement.GetAll());
            }
            else
            {
                string nProduct     = HttpContext.Session.GetString("productNo");
                string codeLocation = HttpContext.Session.GetString("codLocation");
                result = DBProductMovement.ParseToViewModel(DBProductMovement.GetByNoprodLocation(nProduct, codeLocation));
                HttpContext.Session.Remove("productNo");
                HttpContext.Session.Remove("codLocation");
            }
            if (result != null)
            {
                //Apply User Dimensions Validations
                List <AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(User.Identity.Name);
                //Regions
                if (userDimensions.Where(y => y.Dimensão == (int)Enumerations.Dimensions.Region).Count() > 0)
                {
                    result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Enumerations.Dimensions.Region && (y.ValorDimensão == x.CodeRegion || string.IsNullOrEmpty(x.CodeRegion))));
                }
                //FunctionalAreas
                if (userDimensions.Where(y => y.Dimensão == (int)Enumerations.Dimensions.FunctionalArea).Count() > 0)
                {
                    result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Enumerations.Dimensions.FunctionalArea && (y.ValorDimensão == x.CodeFunctionalArea || string.IsNullOrEmpty(x.CodeFunctionalArea))));
                }
                //ResponsabilityCenter
                if (userDimensions.Where(y => y.Dimensão == (int)Enumerations.Dimensions.ResponsabilityCenter).Count() > 0)
                {
                    result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Enumerations.Dimensions.ResponsabilityCenter && (y.ValorDimensão == x.CodeResponsabilityCenter || string.IsNullOrEmpty(x.CodeResponsabilityCenter))));
                }
            }
            return(Json(result));
        }
        public JsonResult GetCoffeeShops()
        {
            var items = DBCoffeeShops.GetAll().ParseToViewModel(config.NAVDatabaseName, config.NAVCompanyName);

            if (items != null)
            {
                //Apply User Dimensions Validations
                List <AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(User.Identity.Name);
                if (userDimensions.Where(y => y.Dimensão == (int)Dimensions.Region).Count() > 0)
                {
                    items.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.Region && (y.ValorDimensão == x.CodeRegion || string.IsNullOrEmpty(x.CodeRegion))));
                }
                if (userDimensions.Where(y => y.Dimensão == (int)Dimensions.FunctionalArea).Count() > 0)
                {
                    items.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.FunctionalArea && (y.ValorDimensão == x.CodeFunctionalArea || string.IsNullOrEmpty(x.CodeFunctionalArea))));
                }
                if (userDimensions.Where(y => y.Dimensão == (int)Dimensions.ResponsabilityCenter).Count() > 0)
                {
                    items.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Dimensions.ResponsabilityCenter && (y.ValorDimensão == x.CodeResponsabilityCenter || string.IsNullOrEmpty(x.CodeResponsabilityCenter))));
                }
            }
            return(Json(items));
        }
        public JsonResult GetDetailsGuia([FromBody] JObject requestParams)
        {
            string noGuia   = requestParams["No"] == null ? "" : requestParams["No"].ToString();
            bool   historic = requestParams["Historic"] == null ? false : bool.Parse(requestParams["Historic"].ToString());
            List <AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(User.Identity.Name);

            if (noGuia != null)
            {
                GuiaTransporteNavViewModel guia = DBNAV2017GuiasTransporte.GetDetailsByNo(_config.NAVDatabaseName, _config.NAVCompanyName, userDimensions, noGuia, historic);

                if (guia == null)
                {
                    return(Json(null));
                }

                guia.CastDateTimePropertiesToString();

                return(Json(guia));
            }
            else
            {
                return(Json(null));;
            }
        }
Example #14
0
        public List <BillingReceptionModel> GetAllFor(UserConfigurationsViewModel userConfig)
        {
            List <BillingReceptionModel> billingReceptions = new List <BillingReceptionModel>();

            if (userConfig != null)
            {
                try
                {
                    var items = ctx.RececaoFaturacao.AsQueryable();
                    if (userConfig.RFPerfilVisualizacao.HasValue && userConfig.RFPerfilVisualizacao.Value == BillingReceptionUserProfiles.Tudo)
                    {
                        //Apply User Dimensions Validations
                        List <AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(userConfig.IdUser);
                        //Regions
                        if (userDimensions.Where(x => x.Dimensão == (int)Dimensions.Region).Count() > 0)
                        {
                            items = items.Where(x => userDimensions.Any(y => y.Dimensão == (int)Dimensions.Region && y.ValorDimensão == x.CodRegiao));
                        }
                        //ResponsabilityCenter
                        if (userDimensions.Where(x => x.Dimensão == (int)Dimensions.ResponsabilityCenter).Count() > 0)
                        {
                            items = items.Where(x => userDimensions.Any(y => y.Dimensão == (int)Dimensions.ResponsabilityCenter && y.ValorDimensão == x.CodCentroResponsabilidade));
                        }
                    }
                    else if (userConfig.RFPerfilVisualizacao.HasValue && userConfig.RFPerfilVisualizacao.Value == BillingReceptionUserProfiles.Perfil)
                    {
                        if (userConfig.RFPerfil.HasValue && userConfig.RFPerfil.Value != BillingReceptionAreas.Contabilidade)
                        {
                            items = items.Where(x => x.Estado.HasValue && (x.Estado.Value == (int)BillingReceptionStates.Pendente || x.Estado.Value == (int)BillingReceptionStates.Rececao));
                            List <string> areasFilter = string.IsNullOrEmpty(userConfig.RFFiltroArea) ? new List <string>() : userConfig.RFFiltroArea.Split('|').ToList();
                            if (userConfig.RFPerfil.HasValue && userConfig.RFPerfil.Value == BillingReceptionAreas.Aprovisionamento)
                            {
                                items = items.Where(x => x.AreaPendente == "Aprovisionamento");
                                if (!string.IsNullOrEmpty(userConfig.RFFiltroArea))
                                {
                                    items = items.Where(x => areasFilter.Contains(x.AreaPendente2));
                                }
                            }
                            else
                            {
                                items = items.Where(x => x.AreaPendente != BillingReceptionAreas.Contabilidade.ToString() &&
                                                    x.AreaPendente != BillingReceptionAreas.Aprovisionamento.ToString() &&
                                                    x.AreaPendente != "Fornecedor");
                                if (!string.IsNullOrEmpty(userConfig.RFFiltroArea))
                                {
                                    items = items.Where(x => areasFilter.Contains(x.AreaPendente));
                                }
                            }
                        }
                    }
                    else if (userConfig.RFPerfilVisualizacao.HasValue && userConfig.RFPerfilVisualizacao.Value == BillingReceptionUserProfiles.Utilizador)
                    {
                        string userName = ExtractUserNameFromEmail(userConfig.IdUser);
                        items = items.Where(x => x.Destinatario == userName);
                    }
                    billingReceptions = items.ToList().ParseToViewModel();
                }
                catch (Exception ex)
                {
                    return(null);
                }
            }
            return(billingReceptions);
        }