コード例 #1
0
        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);
            }
        }
コード例 #2
0
        //[ResponseCache(Duration = 60000)]
        public IActionResult Index(string orderId)
        {
            UserAccessesViewModel       UPerm      = DBUserAccesses.GetByUserAreaFunctionality(User.Identity.Name, Enumerations.Features.MaintenanceOrders);
            UserConfigurationsViewModel userConfig = DBUserConfigurations.GetById(User.Identity.Name).ParseToViewModel();

            if (UPerm != null && UPerm.Read.Value)
            {
                return(View("Index"));
            }
            return(RedirectToAction("AccessDenied", "Error"));
        }
コード例 #3
0
        public List <BillingReceptionModel> GetChangeableDestination(string userName)
        {
            UserConfigurationsViewModel userConfig = DBUserConfigurations.GetById(userName).ParseToViewModel();

            if (userConfig != null)
            {
                var billingReceptions = repo.GetChangeableDestination(userName, userConfig.RFPerfil, userConfig.RFPerfilVisualizacao);
                return(billingReceptions);
            }
            else
            {
                return(null);
            }
        }
コード例 #4
0
        public List <BillingReceptionModel> GetAllForUser(UserConfigurationsViewModel userConfig)
        {
            var billingReceptions = repo.GetAllFor(userConfig);

            //if (viewProfile.HasValue && viewProfile.Value == BillingReceptionUserProfiles.Tudo)
            //{
            //    //Apply User Dimensions Validations
            //    List<AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(userName);
            //    //Regions
            //    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));
            //    //ResponsabilityCenter
            //    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);
        }
コード例 #5
0
 public static ConfigUtilizadores ParseToDB(this UserConfigurationsViewModel item)
 {
     if (item != null)
     {
         return(new ConfigUtilizadores()
         {
             IdUtilizador = item.IdUser,
             Nome = item.Name,
             Ativo = item.Active,
             Administrador = item.Administrator,
             AreaPorDefeito = item.Area,
             CentroRespPorDefeito = item.Cresp,
             EmployeeNo = item.EmployeeNo,
             ProcedimentosEmailEnvioParaArea = item.ProcedimentosEmailEnvioParaArea,
             ProcedimentosEmailEnvioParaArea2 = item.ProcedimentosEmailEnvioParaArea2,
             ProcedimentosEmailEnvioParaCa = item.ProcedimentosEmailEnvioParaCA,
             PerfilNumeraçãoRecDocCompras = item.ReceptionConfig,
             RegiãoPorDefeito = item.Regiao,
             Rfperfil = item.RFPerfil.HasValue ? (int)item.RFPerfil : (int?)null,
             RfperfilVisualizacao = item.RFPerfilVisualizacao.HasValue ? (int)item.RFPerfilVisualizacao : (int?)null,
             RffiltroArea = item.RFFiltroArea,
             RfnomeAbreviado = item.RFNomeAbreviado,
             RfrespostaContabilidade = item.RFRespostaContabilidade,
             RfalterarDestinatarios = item.RFAlterarDestinatarios,
             RfmailEnvio = item.RFMailEnvio,
             CentroDeResponsabilidade = item.Centroresp,
             NumSerieFaturas = item.NumSerieFaturas,
             NumSerieNotasCredito = item.NumSerieNotasCredito,
             NumSerieNotasDebito = item.NumSerieNotasDebito,
             NumSeriePreFaturasCompraCf = item.NumSeriePreFaturasCompraCF,
             NumSeriePreFaturasCompraCp = item.NumSeriePreFaturasCompraCP,
             NumSerieNotasCreditoCompra = item.NumSerieNotasCreditoCompra,
             SuperiorHierarquico = item.SuperiorHierarquico,
             RequisicaoStock = item.RequisicaoStock,
             AprovadorPedidoPag1 = item.AprovadorPedidoPag1,
             AprovadorPedidoPag2 = item.AprovadorPedidoPag2,
             AnulacaoPedidoPagamento = item.AnulacaoPedidoPagamento,
             ValidarPedidoPagamento = item.ValidarPedidoPagamento,
             CriarProjetoSemAprovacao = item.CriarProjetoSemAprovacao,
             CMHistoricoToActivo = item.CMHistoricoToActivo,
             ArquivarREQPendentes = item.ArquivarREQPendentes
         });
     }
     return(null);
 }
コード例 #6
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);
        }