public IActionResult SalvaLista([FromBody] PerfilListaVM perfilListaVM) { if (!ModelState.IsValid) { return(new BadRequestObjectResult(ModelState)); } List <string> erros = new List <string>(); int casaId = Util.GetCasaUsuario(User); PerfilLista perfilLista = Mapper.Map <PerfilLista>(perfilListaVM); perfilLista.CasaId = casaId; if (perfilLista.Id > 0) { erros = _perfilListaService.EditaPerfil(perfilLista, casaId); } else { erros = _perfilListaService.SalvaPerfil(perfilLista); } if (erros.Count > 0) { erros.ForEach(p => ModelState.AddModelError("", p)); return(new BadRequestObjectResult(ModelState)); } return(Ok()); }
public IActionResult GetPerfilLista(int id) { int casaId = Util.GetCasaUsuario(User); PerfilLista perfilLista = _perfilListaService.GetPerfilIncl(id, casaId); PerfilListaVM perfilListaVM = Mapper.Map <PerfilListaVM>(perfilLista); return(Ok(perfilListaVM)); }
public List <string> SalvaPerfil(PerfilLista perfilLista) { List <string> erros = new List <string>(); if (perfilLista.LayoutListas == null || perfilLista.LayoutListas.Count == 0) { erros.Add("Adicione listas no perfil"); return(erros); } List <LayoutLista> layListas = perfilLista.LayoutListas.ToList(); perfilLista.LayoutListas = null; _uow.PerfilListaRepository.Insert(perfilLista); layListas.ForEach(p => { p.PerfilListaId = perfilLista.Id; if (p.PerfilDistribuicaoId == 0) { p.PerfilDistribuicaoId = null; } if (p.ListaF == false && p.ListaM == false) { erros.Add("Na lista " + p.NomeLista + " não é permitido nenhum convidado, selecione Masc. e/ou Fem."); } }); foreach (var layout in layListas) { List <LayoutAgendamento> layAgend = layout.LayoutAgendamentos.ToList(); layout.LayoutAgendamentos = null; _uow.LayoutListaRepository.Insert(layout); layAgend.ForEach(p => p.LayoutListaId = layout.Id); foreach (var agend in layAgend) { _uow.LayoutAgendamentoRepository.Insert(agend); } } if (erros.Count == 0) { _uow.Save(); } return(erros); }
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 List <string> EditaPerfil(PerfilLista perfilLista, int casaId) { List <string> erros = new List <string>(); if (!_uow.PerfilListaRepository.Any(perfilLista.Id, casaId)) { throw new RegraException("Usuario tentando editar perfil lista que não pertence a casa. " + "perfilListaId: " + perfilLista.Id + " casaId:" + casaId); } if (perfilLista.LayoutListas == null || perfilLista.LayoutListas.Count == 0) { erros.Add("Adicione listas no perfil"); return(erros); } List <LayoutLista> layListas = perfilLista.LayoutListas.ToList(); perfilLista.LayoutListas = null; _uow.PerfilListaRepository.Update(perfilLista); layListas.ForEach(p => { p.PerfilListaId = perfilLista.Id; if (p.PerfilDistribuicaoId == 0) { p.PerfilDistribuicaoId = null; } if (p.ListaF == false && p.ListaM == false) { erros.Add("Na lista " + p.NomeLista + " não é permitido nenhum convidado, selecione Masc. e/ou Fem."); } }); //remove listas excluidas na ediçao _uow.PerfilListaRepository.RemoveExcluidos(layListas); foreach (var layout in layListas) { List <LayoutAgendamento> layAgend = layout.LayoutAgendamentos.ToList(); layout.LayoutAgendamentos = null; _uow.LayoutListaRepository.AddOrUpdate(layout); layAgend.ForEach(p => p.LayoutListaId = layout.Id); //remove layouts agendamentos excluidos da lista if (layAgend.Any()) { _uow.LayoutAgendamentoRepository.RemoveExcluidos(layAgend); } foreach (var agend in layAgend) { _uow.LayoutAgendamentoRepository.AddOrUpdate(agend); } } if (erros.Count == 0) { _uow.Save(); } return(erros); }