public void Insert(InfracaoModel infracao) { int i = GetLastId(); i++; infracao.Id = i; Server s = Server.Instance(); Database local = new Database("local", s); Collection <MembroModel> membro = new Collection <MembroModel>("membros", local); Collection <InfracaoModel> infracoes = new Collection <InfracaoModel>("infra", local); infracoes.InsertDocument(infracao); if (membro.Documents.Any(x => x.DiscordId == infracao.IdInfrator)) { MembroModel update = membro.Documents.Find(x => x.DiscordId == infracao.IdInfrator); update.Infracoes.Add(i); new Membro().Update(x => x.DiscordId == infracao.IdInfrator, update); } else { int id = new Membro().GetLastId(); id++; List <int> list = new List <int>(); list.Add(i); MembroModel m = new MembroModel { Id = id, DiscordId = infracao.IdInfrator, Infracoes = list }; new Membro().Insert(m); } }
public void Insert(CensoModel item) { int i = GetLastId(); i++; item.Id = i; Server s = Server.Instance(); Database local = new Database("local", s); Collection <CensoModel> censo = new Collection <CensoModel>("censo", local); Collection <MembroModel> membro = new Collection <MembroModel>("membros", local); if (!censo.Documents.Any(x => x.DiscordId == item.DiscordId)) { censo.InsertDocument(item); } if (membro.Documents.Any(x => x.DiscordId == item.DiscordId)) { var m = new Membro().Find(x => x.DiscordId == item.DiscordId); m.Censo = i; new Membro().Update(x => x.Id == m.Id, m); } else { var in2 = new Membro().GetLastId(); in2++; MembroModel m = new MembroModel { Id = in2, DiscordId = item.DiscordId, Censo = i }; new Membro().Insert(m); } }
private async Task <IActionResult> CriarOuAtualizarMembro(MembroModel membroModel) { if (!ModelState.IsValid) { return(View()); } var membroDto = Mapper.Map <MembroDto> (membroModel); await _membroCadastro.ArmazenarAsync(membroDto); return(RedirectToAction("Index")); }
public async Task <IActionResult> Delete(MembroModel membroModel) { if (membroModel == null) { return(RedirectToAction("Index")); } var membro = Mapper.Map <Membro> (membroModel); await _membroRepositorio.RemoverAsync(membro); return(RedirectToAction("Index")); }
public void Delete(InfracaoModel infracao) { Server s = Server.Instance(); Database local = new Database("local", s); Collection <InfracaoModel> infracoes = new Collection <InfracaoModel>("infra", local); Collection <MembroModel> membro = new Collection <MembroModel>("membros", local); if (membro.Documents.Any(x => x.DiscordId == infracao.IdInfrator)) { MembroModel update = membro.Documents.Find(x => x.DiscordId == infracao.IdInfrator); update.Infracoes.Remove(infracao.Id); new Membro().Update(x => x.DiscordId == infracao.IdInfrator, update); } infracoes.DeleteDocument(x => x.Id == infracao.Id); }
public UsuarioRepository Run(Repository value) { UsuarioRepository r = (UsuarioRepository)value; try { int _empresaId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["empresaId"]); Usuario entity = null; if (seguranca_db.Usuarios.Where(info => info.keyword == r.keyword && info.empresaId == _empresaId).Count() > 0) { entity = seguranca_db.Usuarios.Where(info => info.keyword == r.keyword && info.empresaId == _empresaId).FirstOrDefault(); // Verifica se o código de ativação não expirou if (entity.dt_keyword < Funcoes.Brasilia()) { throw new ArgumentException("Data de ativação do cadastro expirou."); } else { #region Ativa o Usuário no módulo de Segurança e limpa a chave no cadastro de usuários entity.keyword = null; entity.dt_keyword = null; entity.situacao = "A"; seguranca_db.Entry(entity).State = EntityState.Modified; #endregion #region Ativar o Apostador Membro m = db.Membros.Where(info => info.Email == entity.login).FirstOrDefault(); MembroModel MembroModel = new MembroModel(this.db, this.seguranca_db); MembroViewModel MembroViewModel = MembroModel.MapToRepository(m); MembroViewModel.IndSituacao = "A"; MembroViewModel.uri = r.uri; MembroViewModel = MembroModel.Update(MembroViewModel); if (MembroViewModel.mensagem.Code > 0) { throw new ArgumentException(MembroViewModel.mensagem.MessageBase); } #endregion r.mensagem = MembroViewModel.mensagem; } } else { throw new ArgumentException("Cadastro já ativado ou código de verificação incorreto"); } } catch (ArgumentException ex) { r.mensagem = new Validate() { Code = 999, Message = MensagemPadrao.Message(999).ToString(), MessageBase = ex.Message }; } catch (App_DominioException ex) { r.mensagem = ex.Result; if (ex.InnerException != null) { r.mensagem.MessageBase = new App_DominioException(ex.InnerException.Message ?? ex.Message, GetType().FullName).Message; } else { r.mensagem.MessageBase = new App_DominioException(ex.Result.Message, GetType().FullName).Message; } } catch (DbUpdateException ex) { r.mensagem.MessageBase = ex.InnerException.InnerException.Message ?? ex.Message; if (r.mensagem.MessageBase.ToUpper().Contains("REFERENCE")) { if (r.mensagem.MessageBase.ToUpper().Contains("DELETE")) { r.mensagem.Code = 16; r.mensagem.Message = MensagemPadrao.Message(16).ToString(); r.mensagem.MessageType = MsgType.ERROR; } else { r.mensagem.Code = 28; r.mensagem.Message = MensagemPadrao.Message(28).ToString(); r.mensagem.MessageType = MsgType.ERROR; } } else if (r.mensagem.MessageBase.ToUpper().Contains("PRIMARY")) { r.mensagem.Code = 37; r.mensagem.Message = MensagemPadrao.Message(37).ToString(); r.mensagem.MessageType = MsgType.WARNING; } else if (r.mensagem.MessageBase.ToUpper().Contains("UNIQUE KEY")) { r.mensagem.Code = 54; r.mensagem.Message = MensagemPadrao.Message(54).ToString(); r.mensagem.MessageType = MsgType.WARNING; } else { r.mensagem.Code = 44; r.mensagem.Message = MensagemPadrao.Message(44).ToString(); r.mensagem.MessageType = MsgType.ERROR; } } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { r.mensagem = new Validate() { Code = 42, Message = MensagemPadrao.Message(42).ToString(), MessageBase = ex.EntityValidationErrors.Select(m => m.ValidationErrors.First().ErrorMessage).First() }; } catch (Exception ex) { r.mensagem.Code = 17; r.mensagem.Message = MensagemPadrao.Message(17).ToString(); r.mensagem.MessageBase = new App_DominioException(ex.InnerException.InnerException.Message ?? ex.Message, GetType().FullName).Message; r.mensagem.MessageType = MsgType.ERROR; } return(r); }
public async Task censo(CommandContext ctx, [Description("editar/fazer")] string operacao = "fazer") { switch (operacao) { case "fazer": MembroModel membro = new Membro().Find(x => x.DiscordId == ctx.Member.Id); if (membro == null) { membro = new MembroModel { DiscordId = ctx.Member.Id }; new Membro().Insert(membro); } if (membro.Censo != 0) { await ctx.RespondAsync(embed : EmbedBase.OutputEmbed("Um censo comunitário já existe.\n" + $"Use `{ctx.Prefix}{ctx.Command.Name} editar` para editar o seu censo!")); } else { await ctx.RespondAsync(embed : EmbedBase.OutputEmbed("O censo será feito **no privado**. Uma mensagem com mais detalhes será enviada.")); var Dm = await ctx.Member.CreateDmChannelAsync(); CensoModel _Censo = new CensoModel { Timestamp = DateTime.Now, DiscordId = ctx.Member.Id }; var msg = await Dm.SendMessageAsync(embed : EmbedBase.InputEmbed("Idade")); var responce = await Dm.GetNextMessageAsync(x => x.Author == ctx.User, TimeSpan.FromMinutes(30)); int idade = 0; responce.Result.Content.Split(" ").ToList().ForEach(x => int.TryParse(x, out idade)); if (idade != 0) { _Censo.Idade = idade; } int.TryParse(responce.Result.Content, out idade); if (idade != 0) { _Censo.Idade = idade; } await msg.ModifyAsync(embed : EmbedBase.InputEmbed("Email")); responce = await responce.Result.GetNextMessageAsync(); string email = ""; Regex check = new Regex(@"[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*"); email = check.Match(responce.Result.Content).ToString(); if (!string.IsNullOrWhiteSpace(email)) { _Censo.Email = email; } await msg.ModifyAsync(embed : EmbedBase.InputEmbed("Jogos")); responce = await responce.Result.GetNextMessageAsync(); _Censo.Jogos = responce.Result.Content; await msg.ModifyAsync(embed : EmbedBase.InputEmbed("Você é brasileiro(a) ? Responda com [sim/não]")); responce = await responce.Result.GetNextMessageAsync(); if (responce.Result.Content.ToLowerInvariant()[0] == 's') { await msg.ModifyAsync(embed : EmbedBase.InputEmbed("Sigla do seu estado")); responce = await responce.Result.GetNextMessageAsync(); if (Enum.GetNames(typeof(Estado)).Contains(responce.Result.Content.ToUpperInvariant())) { _Censo.UF = (Estado)Enum.Parse(typeof(Estado), responce.Result.Content.ToUpperInvariant()); } else { _Censo.UF = Estado.OTHER; } } else { _Censo.UF = Estado.OTHER; } await msg.ModifyAsync(embed : EmbedBase.InputEmbed("Como chegou à UBGE")); responce = await responce.Result.GetNextMessageAsync(); _Censo.Origem = responce.Result.Content; await msg.ModifyAsync(embed : EmbedBase.InputEmbed("Fala alguma outra língua alem do português?")); responce = await responce.Result.GetNextMessageAsync(); _Censo.Idiomas = responce.Result.Content; new Logic.Censo().Insert(_Censo); await msg.ModifyAsync(embed : EmbedBase.OutputEmbed("Censo Concluído.")); } break; case "editar": CensoModel censo = new Logic.Censo().Find(x => x.DiscordId == ctx.Member.Id); if (censo == null) { await ctx.RespondAsync(embed : EmbedBase.OutputEmbed("Você não fez o censo ainda.\n" + "Faça-o com {ctx.Prefix}`{ctx.Command.Name} fazer`")); } else { await ctx.RespondAsync(embed : EmbedBase.OutputEmbed("O censo será editado no privado. Uma mensagem será enviada em breve!")); var Dm = await ctx.Member.CreateDmChannelAsync(); List <string> options = new List <string> { "Email", "Idade", "Idiomas", "Jogos", "Como chegou à UBGE" }; var message = await Dm.SendMessageAsync(embed : EmbedBase.OrderedListEmbed(options, "Selecione uma das opções")); var responce = await Dm.GetNextMessageAsync(x => x.Author.Id == ctx.Member.Id); if (char.IsDigit(responce.Result.Content[0])) { var value = int.Parse(responce.Result.Content[0].ToString()); await message.ModifyAsync(embed : EmbedBase.InputEmbed($"Digite o(s) novo(s) {options[value]}:")); responce = await responce.Result.GetNextMessageAsync(); await Modify(censo, value, message, responce); } else { var option = options.Find(x => x.ToLowerInvariant().Contains(responce.Result.Content.ToLowerInvariant())); if (!String.IsNullOrWhiteSpace(option)) { var value = options.IndexOf(option); await message.ModifyAsync(embed : EmbedBase.InputEmbed($"Digite o(s) novo(s) {options[value]}:")); responce = await responce.Result.GetNextMessageAsync(); await Modify(censo, value, message, responce); } } } break; } }
public async Task <IActionResult> SalvarMembro(MembroModel membroModel) { return(await CriarOuAtualizarMembro(membroModel)); }