public dynamic localizarObjetivoId(string strBusca) { dynamic dadosObjetivo = new object(); try { var _obj = _db.GetCollection <ObjetivoMiniGameModel>("ObjetivoIniciado"); ObjectId dadosObjId = new ObjectId(strBusca); ObjetivoMiniGameModel dadosObj = (from obj in _obj.AsQueryable <ObjetivoMiniGameModel>() where obj.ativo.Equals(true) && obj._id.Equals(dadosObjId) select obj).FirstOrDefault(); if (dadosObj != null) { dadosObjetivo = dadosObj; } } catch (Exception xp) { } return(dadosObjetivo); }
public ObjetivoMiniGameModel findObjMiniGameInUser(string document, string miniGame) { startModelo(); bool resp = false; var _obj = _db.GetCollection <ObjetivoMiniGameModel>("ObjetivoIniciado"); ObjetivoMiniGameModel dadosBusca = (from e in _obj.AsQueryable <ObjetivoMiniGameModel>() where DateTime.Now.ToLocalTime() >= e.ObjParametros.dataIniciar && DateTime.Now.ToLocalTime() <= e.ObjParametros.dataExpiracao && e.ObjUsr.documento.Contains(document) orderby e.ObjParametros.dataExpiracao ascending select e).FirstOrDefault(); if (dadosBusca != null) { List <MiniGameModel> listaMG = dadosBusca.listarMiniGames(); if (listaMG.Count > 0) { resp = true; } //foreach (MiniGameModel mgm in listaMG) { // if (mgm.nome.Contains(miniGame)) { // resp = true; // } //} } return(resp ? dadosBusca : null); }
private void validaDefineObjetivoConcluido(string infoDoc, string codMiniGame) { int posicao = 0; var _obj = _db.GetCollection <ObjetivoMiniGameModel>("ObjetivoIniciado"); try { ObjetivoMiniGameModel objFound = this.findObjMiniGameInUser(infoDoc, codMiniGame); dynamic dadosObjFound = new Objetivo.Objetivo().localizarObjetivoId((objFound._id.ToString())); if (dadosObjFound != null) { foreach (dynamic dadosMG in dadosObjFound.ListaMiniGames) { dynamic obj = dadosMG; string objId = (string)dadosObjFound._id; double secondsTarget = obj.targetForPayment; double tempoJogando = obj.objTempoJogando; if (tempoJogando >= secondsTarget) { //Enviar pagamento var update = Builders <ObjetivoMiniGameModel> .Update .Set(u => u.dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ObjUsr.dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ObjParametros.dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ListaMiniGames.ElementAt(posicao).ativo, false) .Set(u => u.ListaMiniGames.ElementAt(posicao).CashInSent, true) .Set(u => u.ListaMiniGames.ElementAt(posicao).dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())); var result = _obj.UpdateOne <ObjetivoMiniGameModel>(u => u._id.Equals(objFound._id), update); } posicao += 1; } } } catch (Exception xp) { } }
private bool persistirBancoDeDados(string infoDoc, string infoObj) { string codMiniGame = string.Empty; bool resp = false; try { startModelo(); var _obj = _db.GetCollection <ObjetivoMiniGameModel>("ObjetivoIniciado"); ObjetivoModel dadosObjModel = this.findObjetivoPrincipal(infoObj); if (dadosObjModel != null) { string nomeObj = infoDoc + "-" + infoObj; ObjetivoMiniGameModel objFound = this.findObjMiniGameInUser(infoDoc, infoObj); if (objFound == null) { objModel.nome = nomeObj; objModel.setUsuarioGame(new UsuarioModel { nome = infoDoc, documento = infoDoc }); objModel.setObjetivoGame(dadosObjModel); dynamic dynList = dadosObjModel.retornaListaMiniGame(); foreach (dynamic objList in dynList) { dynamic obj = objList; objModel.addMiniGames(objList); } codMiniGame = objModel._id.ToString(); _obj.InsertOne(objModel); resp = true; } var posicaoLista = (objFound != null ? objFound.ListaMiniGames.FindIndex(f => f.nome.Contains(infoObj)) : 0); if (objFound != null && objFound.ativo && resp == false && posicaoLista >= 0) { int posicao = posicaoLista; // objFound.ListaMiniGames.FindIndex(p => p.nome.Contains(infoObj)); codMiniGame = objFound._id.ToString(); var listaAtualMiniGames = objFound.listarMiniGames(); MiniGameModel objTrataValores = listaAtualMiniGames.ElementAt(posicao); if (objTrataValores.ativo && objTrataValores.CashInSent.Equals(false)) { string objId = (string)objTrataValores._id; double secondsTarget = objTrataValores.targetForPayment; double diffInSeconds = this.validaTempoJogando(objTrataValores); var update = Builders <ObjetivoMiniGameModel> .Update .Set(u => u.dataCadastro, objFound.dataCadastro) .Set(u => u.dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ObjUsr.dataCadastro, objFound.ObjUsr.dataCadastro) .Set(u => u.ObjUsr.dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ObjParametros.dataCadastro, objFound.ObjParametros.dataCadastro) .Set(u => u.ObjParametros.dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ListaMiniGames.ElementAt(posicao).dataCadastro, objFound.ListaMiniGames.ElementAt(posicao).dataCadastro) .Set(u => u.ListaMiniGames.ElementAt(posicao).dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ListaMiniGames.ElementAt(posicao).objDataIniciado, objFound.ListaMiniGames.ElementAt(posicao).objDataIniciado) .Set(u => u.ListaMiniGames.ElementAt(posicao).objDataFinalizado, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ListaMiniGames.ElementAt(posicao).objTempoJogando, diffInSeconds); var result = _obj.UpdateOne <ObjetivoMiniGameModel>(u => u._id == objFound._id, update); resp = true; } } else if (resp == false && objFound != null && objFound.ativo) { int posicao = posicaoLista; // objFound.ListaMiniGames.FindIndex(p => p.nome.Contains(infoObj)); if (posicao >= 0) { codMiniGame = objFound._id.ToString(); MiniGameModel objTrataValores = objFound.listarMiniGames().ElementAt(posicao); if (objTrataValores != null && objTrataValores.ativo && objTrataValores.CashInSent.Equals(false)) { string objId = (string)objTrataValores._id; double secondsTarget = objTrataValores.targetForPayment; double diffInSeconds = this.validaTempoJogando(objTrataValores); var update = Builders <ObjetivoMiniGameModel> .Update .Set(u => u.dataCadastro, objFound.dataCadastro) .Set(u => u.dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ObjUsr.dataCadastro, objFound.ObjUsr.dataCadastro) .Set(u => u.ObjUsr.dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ObjParametros.dataCadastro, objFound.ObjParametros.dataCadastro) .Set(u => u.ObjParametros.dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ListaMiniGames.ElementAt(posicao).dataCadastro, objFound.ListaMiniGames.ElementAt(posicao).dataCadastro) .Set(u => u.ListaMiniGames.ElementAt(posicao).dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ListaMiniGames.ElementAt(posicao).objDataIniciado, objFound.ListaMiniGames.ElementAt(posicao).objDataIniciado) .Set(u => u.ListaMiniGames.ElementAt(posicao).objDataFinalizado, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ListaMiniGames.ElementAt(posicao).objTempoJogando, diffInSeconds); var result = _obj.UpdateOne <ObjetivoMiniGameModel>(u => u._id == objFound._id, update); resp = true; } } else { var listaAtualMiniGames = dadosObjModel.retornaListaMiniGame(); // objFound.listarMiniGames(); MiniGameModel novoMiniGame = new MiniGameModel(); foreach (dynamic objList in listaAtualMiniGames) { novoMiniGame = new MiniGameModel { nome = objList.nome, ativo = true, targetForPayment = objList.targetForPayment, CashPayment = objList.CashPayment }; objModel.addMiniGames(novoMiniGame); } List <MiniGameModel> novaListaMiniGames = objModel.listarMiniGames(); var update = Builders <ObjetivoMiniGameModel> .Update .Set(u => u.dataCadastro, objFound.dataCadastro) .Set(u => u.dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Set(u => u.ObjUsr.dataCadastro, objFound.ObjUsr.dataCadastro) .Set(u => u.ObjUsr.dataAlteracao, objFound.ObjUsr.dataCadastro) .Set(u => u.ObjParametros.dataCadastro, objFound.ObjParametros.dataCadastro) .Set(u => u.ObjParametros.dataAlteracao, new Utils().convertDatePtBr(DateTime.Now.ToLocalTime())) .Push(p => p.ListaMiniGames, novoMiniGame); var result = _obj.UpdateOne <ObjetivoMiniGameModel>(u => u._id == objFound._id, update); resp = true; } } if (resp == true) { this.validaDefineObjetivoConcluido(infoDoc, codMiniGame); } } return(resp); } catch (Exception xp) { return(false); } }
private void startModelo() { _connMongo = new MongoDbContext(); _db = _connMongo.GetMongoDbConn(); objModel = new ObjetivoMiniGameModel(); }