public PerfilDistribuicao GetPerfilTodosUsuarios(int perfilDistId, int casaId) { PerfilDistribuicao perfil = _uow.PerfilDistribuicaoRepository.GetPerfilDistribuicao(perfilDistId, casaId); if (perfil == null) { throw new RegraException("Usuário tentando editar perfil que não é de sua casa"); } List <Usuario> usuarios = _uow.UsuarioManager.FindUsuariosDist(casaId); foreach (var usuario in usuarios) { if (!perfil.LayoutsDistribuicao.Any(p => p.UsuarioId.Equals(usuario.Id))) { perfil.LayoutsDistribuicao.Add(new LayoutDistribuicao { UsuarioId = usuario.Id, qtdNomesF = 0, qtdNomesM = 0 }); } } return(perfil); }
public void EditaPerfil(PerfilDistribuicao perfilDist, int casaId) { List <LayoutDistribuicao> remover = new List <LayoutDistribuicao>(); if (!_uow.PerfilDistribuicaoRepository.Any(perfilDist.Id, casaId)) { throw new RegraException("Edição de perfil de distribuição que não pertence a casa. perfil dist: " + perfilDist.Id + " casaId: " + casaId); } foreach (LayoutDistribuicao layout in perfilDist.LayoutsDistribuicao) { if (layout.qtdNomesF == 0 && layout.qtdNomesM == 0) { remover.Add(layout); } layout.PerfilDistribuicaoId = perfilDist.Id; } foreach (var layout in remover) { perfilDist.LayoutsDistribuicao.Remove(layout); if (layout.Id > 0) { _uow.LayoutDistribuicaoRepository.Delete(layout); } } _uow.PerfilDistribuicaoRepository.Update(perfilDist); _uow.LayoutDistribuicaoRepository.AddOrUpdate(perfilDist.LayoutsDistribuicao); _uow.Save(); }
public void ExcluiPerfil(int perfilId, int casaId) { PerfilDistribuicao perfil = _uow.PerfilDistribuicaoRepository.GetPerfilDistribuicao(perfilId, casaId); if (perfil == null) { throw new RegraException("Perfil para exclusão não encontrado"); } _uow.PerfilDistribuicaoRepository.Delete(perfil); _uow.Save(); }
public void CriaLista(Lista lista, int casaId, int perfilDistId) { Evento evento = _uow.EventoRepository.GetEvento(lista.EventoId); if (!evento.CasaId.Equals(casaId)) { throw new RegraException("Tentando adicionar Lista a evento que não pertence a casa" + "casaId:" + casaId + " nomeLista:" + lista.NomeLista); } //adiciona lista lista.FechadaM = false; lista.FechadaF = false; _uow.ListaRepository.Insert(lista); //verifica se existe perfil de distribuicao if (perfilDistId > 0) { PerfilDistribuicao perfilDist = _uow.PerfilDistribuicaoRepository.GetPerfilDistribuicao(perfilDistId, casaId); if (perfilDist == null) { throw new RegraException("Tentando criar lista com perfil de distribuição que não pertence a casa" + "casaId:" + casaId + " perfilDistId:" + perfilDistId); } //adiciona distribuicoes foreach (var dist in perfilDist.LayoutsDistribuicao) { //adiciona acesso do usuario a essa lista _uow.UsuarioListaRepository.Insert(new UsuarioLista { ListaId = lista.Id, UsuarioId = dist.UsuarioId, EventoId = lista.EventoId, TemAcesso = true }); //adiciona a distribuicao do usuario a lista _uow.DistribuicaoRepository.Insert(new Distribuicao { qtdNomesF = dist.qtdNomesF, qtdNomesM = dist.qtdNomesM, ListaId = lista.Id, UsuarioId = dist.UsuarioId }); } } _uow.Save(); }
public IActionResult EditaPerfilDist([FromBody] PerfilDistVM perfilDistVM) { if (!ModelState.IsValid) { return(new BadRequestObjectResult(ModelState)); } int casaId = Util.GetCasaUsuario(HttpContext.User); PerfilDistribuicao perfilDist = Mapper.Map <PerfilDistribuicao>(perfilDistVM); perfilDist.CasaId = casaId; _perfilDistService.EditaPerfil(perfilDist, casaId); return(Ok()); }
public IActionResult GetEditarDist(int perfilId) { int casaId = Util.GetCasaUsuario(HttpContext.User); PerfilDistribuicao perfilDist = _perfilDistService.GetPerfilTodosUsuarios(perfilId, casaId); PerfilDistVM perfilDistVM = Mapper.Map <PerfilDistVM>(perfilDist); List <Usuario> usuarios = _casaService.GetUsuariosDistCasa(casaId); foreach (var usuario in usuarios) { perfilDistVM.LayoutsDistribuicao.First(p => p.UsuarioId.Equals(usuario.Id)).nome = usuario.Nome; } return(Json(perfilDistVM)); }
public void CriaPerfil(PerfilDistribuicao perfilDist) { List <LayoutDistribuicao> remover = new List <LayoutDistribuicao>(); foreach (LayoutDistribuicao layout in perfilDist.LayoutsDistribuicao) { if (layout.qtdNomesF == 0 && layout.qtdNomesM == 0) { remover.Add(layout); } } foreach (var layout in remover) { perfilDist.LayoutsDistribuicao.Remove(layout); } _uow.PerfilDistribuicaoRepository.Insert(perfilDist); _uow.Save(); }
public void SalvaEvento(Evento evento, int casaId, int perfilListaId) { evento.CasaId = casaId; _uow.EventoRepository.Insert(evento); if (perfilListaId > 0) { PerfilLista perfilLista = _uow.PerfilListaRepository.GetPerfilIncl(perfilListaId, casaId); if (perfilLista == null) { throw new RegraException("Usuario tentando criar evento com perfil lista que não pertence a casa. " + "perfilListaId: " + perfilLista.Id + " casaId:" + casaId); } //cria listas e agendamentos de acordo com o perfil lista foreach (var layLista in perfilLista.LayoutListas) { //insere nova lista Lista lista = new Lista { NomeLista = layLista.NomeLista, AgendarTarefas = layLista.AgendarTarefas, EventoId = evento.Id, ListaF = layLista.ListaF, PrecoF = layLista.PrecoF, ListaM = layLista.ListaM, PrecoM = layLista.PrecoM, ValorConsumaF = layLista.ValorConsumaF, ValorConsumaM = layLista.ValorConsumaM, FechadaM = false, FechadaF = false, ExigirCelular = layLista.ExigirCelular, ExigirRg = layLista.ExigirRg }; _uow.ListaRepository.Insert(lista); foreach (var layAgend in layLista.LayoutAgendamentos) { //agenda tarefas da lista Agendamento agend = new Agendamento { TipoAgendamento = layAgend.TipoAgendamento, Executado = false, FecharListaF = layAgend.FecharListaF, FecharListaM = layAgend.FecharListaM, ListaId = lista.Id, NovoValorF = layAgend.NovoValorF, NovoValorM = layAgend.NovoValorM, trocarValorF = layAgend.trocarValorF, trocarValorM = layAgend.trocarValorM }; DateTime horaAcao = evento.DtaInicio; if (layAgend.DepoisEvento) { if (layAgend.qtdHoras > 0) { agend.HoraAcao = horaAcao.AddHours(layAgend.qtdHoras); } if (layAgend.qtdMinutos > 0) { agend.HoraAcao = horaAcao.AddMinutes(layAgend.qtdMinutos); } } else { if (layAgend.qtdHoras > 0) { agend.HoraAcao = horaAcao.AddHours(-layAgend.qtdHoras); } if (layAgend.qtdMinutos > 0) { agend.HoraAcao = horaAcao.AddMinutes(-layAgend.qtdMinutos); } } _uow.AgendamentoRepository.Insert(agend); } if (layLista.PerfilDistribuicaoId != null) { //distribui convidados para as listas PerfilDistribuicao perfilDist = _uow.PerfilDistribuicaoRepository.GetPerfilDistribuicao((int)layLista.PerfilDistribuicaoId, casaId); foreach (var layDist in perfilDist.LayoutsDistribuicao) { Distribuicao dist = new Distribuicao { ListaId = lista.Id, UsuarioId = layDist.UsuarioId, qtdNomesF = layDist.qtdNomesF, qtdNomesM = layDist.qtdNomesM, }; _uow.DistribuicaoRepository.Insert(dist); //add acesso do usuário para aquela lista _uow.UsuarioListaRepository.AddAcesso(evento.Id, dist.UsuarioId, lista.Id); } } } } _uow.Save(); }
public async void EnsureSeedData() { Usuario teste; Grupo grupoWoods; Casa woods; Casa ws; #region adiciona Client if (!_ctx.Clients.Any()) { _ctx.Clients.Add(new Client { Id = "dux", Active = true, Name = "Ducsa", RefreshTokenLifeTime = 3600, Secret = "dwajioda" }); } #endregion #region adiciona Grupo if (!_ctx.Grupos.Any()) { grupoWoods = new Grupo { NomeGrupo = "Grupo Woods" }; _ctx.Grupos.Add(grupoWoods); _ctx.SaveChanges(); } #endregion #region adiciona Casa if (!_ctx.Casas.Any()) { grupoWoods = _ctx.Grupos.First(); ws = new Casa { NomeCasa = "Woods Samba", GrupoId = grupoWoods.Id }; woods = new Casa { NomeCasa = "Woods", GrupoId = grupoWoods.Id }; _ctx.Casas.Add(woods); _ctx.Casas.Add(ws); _ctx.SaveChanges(); } #endregion #region adiciona Usuario e UsuarioCasa if (!_ctx.Users.Any()) { teste = new Usuario { Nome = "Teste1 da Silva", UserName = "******", Email = "*****@*****.**", EmailConfirmed = true }; Usuario teste2 = new Usuario { Nome = "Teste2 da Silva", UserName = "******", Email = "*****@*****.**", EmailConfirmed = true }; Usuario teste3 = new Usuario { Nome = "Teste3 da Silva", UserName = "******", Email = "*****@*****.**", EmailConfirmed = true }; await _usr.CreateAsync(teste, "Wtf!99541"); await _usr.CreateAsync(teste2, "Wtf!99541"); await _usr.CreateAsync(teste3, "Wtf!99541"); woods = _ctx.Casas.First(p => p.NomeCasa == "Woods"); ws = _ctx.Casas.First(p => p.NomeCasa == "Woods Samba"); UsuarioCasa usuarioCasa = new UsuarioCasa { UsuarioId = teste.Id, CasaId = woods.Id }; UsuarioCasa usuarioCasa2 = new UsuarioCasa { UsuarioId = teste.Id, CasaId = ws.Id }; teste.CasasUsuario = new List <UsuarioCasa>(); teste.CasasUsuario.Add(usuarioCasa); teste.CasasUsuario.Add(usuarioCasa2); UsuarioCasa uCasa3 = new UsuarioCasa { UsuarioId = teste2.Id, CasaId = woods.Id }; teste2.CasasUsuario = new List <UsuarioCasa>(); teste2.CasasUsuario.Add(uCasa3); UsuarioCasa uCasa4 = new UsuarioCasa { UsuarioId = teste3.Id, CasaId = woods.Id }; teste3.CasasUsuario = new List <UsuarioCasa>(); teste3.CasasUsuario.Add(uCasa4); _ctx.SaveChanges(); } #endregion #region Adiciona Claim Master no usuario teste if (!_ctx.UserClaims.Any()) { teste = await _usr.FindByEmailAsync("*****@*****.**"); woods = _ctx.Casas.FirstOrDefault(p => p.NomeCasa == "Woods"); _ctx.UserClaims.Add(new UsuarioClaims { CasaId = woods.Id, ClaimType = "Master", ClaimValue = "1", UserId = teste.Id }); _ctx.SaveChanges(); } #endregion #region adiciona Perfil Distribuicao if (!_ctx.PerfilDistribuicao.Any()) { woods = _ctx.Casas.FirstOrDefault(p => p.NomeCasa == "Woods"); Usuario u1 = await _usr.FindByEmailAsync("*****@*****.**"); Usuario u2 = await _usr.FindByEmailAsync("*****@*****.**"); Usuario u3 = await _usr.FindByEmailAsync("*****@*****.**"); PerfilDistribuicao perfilDist = new PerfilDistribuicao { NomePerfil = "Perfil Teste", CasaId = woods.Id }; List <LayoutDistribuicao> layDist = new List <LayoutDistribuicao>(); layDist.Add(new LayoutDistribuicao { qtdNomesF = 10, qtdNomesM = 20, UsuarioId = u1.Id }); layDist.Add(new LayoutDistribuicao { qtdNomesF = 1010, qtdNomesM = 2020, UsuarioId = u2.Id }); layDist.Add(new LayoutDistribuicao { qtdNomesF = 15, qtdNomesM = 30, UsuarioId = u3.Id }); perfilDist.LayoutsDistribuicao = layDist; _ctx.PerfilDistribuicao.Add(perfilDist); _ctx.SaveChanges(); } #endregion #region Acessos if (!_ctx.Acessos.Any()) { _ctx.Acessos.Add(new Acessos { TipoClaim = "PerLis", Descricao = "Perfil de Listas" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "PerDis", Descricao = "Perfil de Distribuicao de Convidados" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "PerCas", Descricao = "Perfil de Mapa da Casa" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "Evento", Descricao = "Eventos" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "Lista", Descricao = "Listas" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "Reserv", Descricao = "Reservas" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "AgTar", Descricao = "Agendar Tarefas para as Listas" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "Distr", Descricao = "Distribuicao de Convidados" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "AddNm", Descricao = "Adicionar nomes na Lista" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "RemNm", Descricao = "Remover qualquer nome das Listas" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "VerList", Descricao = "Visualizar Lista completa do Evento" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "ConfPres", Descricao = "Confirmar presenca de Convidados" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "AceUsu", Descricao = "Definir Acessos dos Usuários" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "AddUsu", Descricao = "Adicionar Usuarios" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "BloqUsu", Descricao = "Bloquear Usuarios" }); _ctx.Acessos.Add(new Acessos { TipoClaim = "PodeComis", Descricao = "Pode adicionar Comissarios" }); //_ctx.SaveChanges(); } #endregion }