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); } }
//[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")); }
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); } }
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); }
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); }
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); }