public Boolean Post([FromBody] dynamic value) { Int32 oGC_StatusId = value.GC_StatusId; Int32 oGC_MensalidadeId = value.GC_MensalidadeId; GC_MensalidadeStatus oGC_MensalidadeStatus = (from item in this.db.GC_MensalidadeStatus where item.Id == oGC_StatusId select item).FirstOrDefault(); if (oGC_MensalidadeStatus == null) { return(false); } GC_Mensalidade oGC_Mensalidade = (from item in this.db.GC_Mensalidade where item.Id == oGC_MensalidadeId select item).FirstOrDefault(); if (oGC_Mensalidade == null) { return(false); } oGC_Mensalidade.GC_MensalidadeStatusId = oGC_MensalidadeStatus.Id; db.SaveChangesAsync(); new MensalidadeLogger().Log(oGC_Mensalidade, (ClaimsIdentity)User.Identity, "Alterada pelo usuario"); return(true); }
public GC_PagSeguroPagamento Post([FromBody] dynamic value) { Int32 idMensalidade = Convert.ToInt32(value.Id); GC_Mensalidade oMensalidade = new GC_Mensalidade(); oMensalidade = (from item in db.GC_Mensalidade where item.Id == idMensalidade select item).FirstOrDefault(); GC_Academia oGC_Academia = (from item in db.GC_Academia where oMensalidade.GC_AcademiaId == item.Id select item).FirstOrDefault(); GC_Usuario oGC_Usuario = (from item in db.GC_Usuario where item.Id == oMensalidade.GC_UsuarioId select item).FirstOrDefault(); GC_PagSeguroPagamento oPagSeguroPagamento = new Pagseguro().Checkout(oMensalidade, oGC_Usuario, oGC_Academia, value.token.ToString(), value.senderHash.ToString()); oPagSeguroPagamento.GC_MensalidadeId = idMensalidade; db.GC_PagSeguroPagamento.Add(oPagSeguroPagamento); oMensalidade.GC_MensalidadeStatusId = 2; db.SaveChanges(); oPagSeguroPagamento.GC_MensalidadeId = oMensalidade.GC_AcademiaId; return(oPagSeguroPagamento); }
public bool Post([FromBody] GC_Mensalidade value) { value = (from item in db.GC_Mensalidade where item.Id == value.Id select item).FirstOrDefault(); GC_Usuario oGC_Usuario = (from item in db.GC_Usuario where item.Id == value.GC_UsuarioId select item).FirstOrDefault(); GC_Academia OGC_Academia = (from item in db.GC_Academia where item.Id == value.GC_AcademiaId select item).FirstOrDefault(); GC_PagSeguroPagamento oGC_PagSeguroPagamento = (from item in db.GC_PagSeguroPagamento where item.GC_MensalidadeId == value.Id select item).FirstOrDefault(); if (oGC_Usuario.Telefone == null) { return(false); } String message = "Olá {0}! Seu boleto com vencimento para {1} referente a academia {3} pode ser impresso em {2}"; message = message.Replace("{0}", oGC_Usuario.Nome); message = message.Replace("{1}", value.Vencimento.ToString("dd/MM/yyyy")); message = message.Replace("{2}", "http://basicflux.com/#/eu"); message = message.Replace("{3}", OGC_Academia.Nome); new PapoSms().EnviarMensalidade(oGC_Usuario.Telefone, message); return(true); }
public Boolean ProcessNotification(String code, String port) { string idInstituicao = System.Configuration.ConfigurationManager.AppSettings["pagSeguro_" + port]; GC_Academia oInstituicao = (from item in db.GC_Academia where item.Id.ToString() == idInstituicao select item).FirstOrDefault(); string urlPagSeguro = System.Configuration.ConfigurationManager.AppSettings["pagSeguroURL_NOTIFICATION"]; urlPagSeguro = urlPagSeguro.Replace("#email#", oInstituicao.Email); urlPagSeguro = urlPagSeguro.Replace("#token#", oInstituicao.Token); urlPagSeguro = urlPagSeguro.Replace("#code#", code); using (var client = new HttpClient()) { var values = new Dictionary <string, string>(); var content = new FormUrlEncodedContent(values); var response = client.GetAsync(urlPagSeguro).Result; if (response.IsSuccessStatusCode) { try { var responseContent = response.Content; // by calling .Result you are synchronously reading the result string responseString = responseContent.ReadAsStringAsync().Result; XmlDocument xml = new XmlDocument(); xml.LoadXml(responseString); XmlNodeList nodeList = xml.GetElementsByTagName("status"); String status = nodeList[0].InnerText; nodeList = xml.GetElementsByTagName("code"); String pagseguroCode = nodeList[0].InnerText; GC_PagSeguroPagamento oGC_PagSeguroPagamento = (from item in db.GC_PagSeguroPagamento where item.Code == pagseguroCode select item).FirstOrDefault(); GC_Mensalidade oGC_Mensalidade = (from item in db.GC_Mensalidade where item.Id == oGC_PagSeguroPagamento.GC_MensalidadeId select item).FirstOrDefault(); oGC_Mensalidade.GC_MensalidadeStatusId = Convert.ToInt32(status); db.SaveChanges(); new MensalidadeLogger().Log(oGC_Mensalidade, null, "Pagseguro"); return(true); } catch (Exception) { return(false); } } } return(false); }
public void Log(GC_Mensalidade gC_Mensalidade, ClaimsIdentity identity, string Obs) { try { GC_MensalidadeLog oGC_MensalidadeLog = new GC_MensalidadeLog(); if (identity != null) { Claim id = (from item in identity.Claims where item.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/sid" select item).FirstOrDefault(); oGC_MensalidadeLog.GC_UsuarioId = Convert.ToInt32(id.Value); } oGC_MensalidadeLog.GC_MensalidadeId = gC_Mensalidade.Id; oGC_MensalidadeLog.GC_MensalidadeStatusId = gC_Mensalidade.GC_MensalidadeStatusId; oGC_MensalidadeLog.IsActive = gC_Mensalidade.IsActive; oGC_MensalidadeLog.logDate = DateTime.Now; oGC_MensalidadeLog.Observacao = Obs; db.GC_MensalidadeLog.Add(oGC_MensalidadeLog); db.SaveChanges(); } catch (Exception e) { } }
public Boolean Post([FromBody] dynamic value) { Int32 oGC_UsuarioId = value.GC_UsuarioId; Int32 oGC_MensalidadeId = value.GC_MensalidadeId; GC_Usuario oGC_Usuario = (from item in this.db.GC_Usuario where item.Id == oGC_UsuarioId select item).FirstOrDefault(); if (oGC_Usuario == null) { return(false); } GC_Mensalidade oGC_Mensalidade = (from item in this.db.GC_Mensalidade where item.Id == oGC_MensalidadeId select item).FirstOrDefault(); if (oGC_Mensalidade == null) { return(false); } oGC_Usuario.Mensalidades = new Collection <GC_Mensalidade>(); oGC_Usuario.Mensalidades.Add(oGC_Mensalidade); db.SaveChangesAsync(); new MensalidadeLogger().Log(oGC_Mensalidade, (ClaimsIdentity)User.Identity, "Criada pelo usuario"); return(true); }
public async Task <IHttpActionResult> PutGC_Mensalidade(int id, GC_Mensalidade gC_Mensalidade) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != gC_Mensalidade.Id) { return(BadRequest()); } db.Entry(gC_Mensalidade).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!GC_MensalidadeExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> GetGC_Mensalidade(int id) { GC_Mensalidade gC_Mensalidade = await db.GC_Mensalidade.FindAsync(id); if (gC_Mensalidade == null) { return(NotFound()); } return(Ok(gC_Mensalidade)); }
public async Task <IHttpActionResult> PostGC_Mensalidade(GC_Mensalidade gC_Mensalidade) { db.GC_Mensalidade.Add(gC_Mensalidade); gC_Mensalidade.GC_MensalidadeStatusId = 1; gC_Mensalidade.IsActive = true; db.SaveChanges(); new MensalidadeLogger().Log(gC_Mensalidade, (ClaimsIdentity)User.Identity, "Criada pelo usuario"); return(Ok(gC_Mensalidade)); }
public Boolean Post([FromBody] GC_Mensalidade gC_Mensalidade) { GC_Mensalidade oGC_Mensalidade = (from item in db.GC_Mensalidade where item.Id == gC_Mensalidade.Id select item).FirstOrDefault(); oGC_Mensalidade.IsActive = false; db.SaveChangesAsync(); new MensalidadeLogger().Log(oGC_Mensalidade, (ClaimsIdentity)User.Identity, "Criada pelo usuario"); return(true); }
public async Task <IHttpActionResult> DeleteGC_Mensalidade(int id) { GC_Mensalidade gC_Mensalidade = await db.GC_Mensalidade.FindAsync(id); if (gC_Mensalidade == null) { return(NotFound()); } db.GC_Mensalidade.Remove(gC_Mensalidade); await db.SaveChangesAsync(); return(Ok(gC_Mensalidade)); }
public bool Post([FromBody] GC_Mensalidade value) { value = (from item in db.GC_Mensalidade where item.Id == value.Id select item).FirstOrDefault(); GC_Usuario oGC_Usuario = (from item in db.GC_Usuario where item.Id == value.GC_UsuarioId select item).FirstOrDefault(); GC_Academia OGC_Academia = (from item in db.GC_Academia where item.Id == value.GC_AcademiaId select item).FirstOrDefault(); GC_PagSeguroPagamento oGC_PagSeguroPagamento = (from item in db.GC_PagSeguroPagamento where item.GC_MensalidadeId == value.Id select item).FirstOrDefault(); return(new Mailer().Boleto(oGC_Usuario.Email, oGC_Usuario.Nome, value.Vencimento.ToString("dd/MM/yyyy"), oGC_PagSeguroPagamento.BarCode, oGC_PagSeguroPagamento.Link, OGC_Academia.Nome, OGC_Academia)); }
public void SendBoletoXDias(Int32 dias) { List <Notification_Response> lstNotification_Response = db.Database.SqlQuery <Notification_Response>("proc_select_boleto " + dias.ToString()).ToList(); lstNotification_Response.ForEach((x) => { try { GC_Academia oGC_Academia = new GC_Academia(); oGC_Academia.Id = x.GC_AcademiaId; DateTime oDt = Convert.ToDateTime(x.Vencimento); new Mailer().PreVencimento(x.email, x.nome, oDt.ToString("dd/MM/yyyy"), x.barcode, x.Link, dias.ToString(), oGC_Academia); } catch { } finally { GC_Mensalidade oGC_Mensalidade = (from item in db.GC_Mensalidade where item.Id == x.Id select item).FirstOrDefault(); if (dias == 5) { oGC_Mensalidade.IsAvisoCinco = true; } if (dias == 3) { oGC_Mensalidade.IsAvisoTres = true; } if (dias == 1) { oGC_Mensalidade.IsAvisoUm = true; } } }); db.SaveChanges(); }
public List <GC_PagSeguroPagamento> GerarBoletos(List <GC_Mensalidade> oGC_Mensalidade) { String url = System.Configuration.ConfigurationManager.AppSettings["pagSeguro_Boleto"]; Int32 idMensalidade = oGC_Mensalidade[0].Id; GC_Mensalidade targetGC_Mensalidade = (from item in db.GC_Mensalidade where item.Id == idMensalidade select item).FirstOrDefault(); GC_Usuario oGC_Usuario = (from item in db.GC_Usuario where item.Id == targetGC_Mensalidade.GC_UsuarioId select item).FirstOrDefault(); GC_Academia oGC_Academia = (from item in db.GC_Academia where item.Id == targetGC_Mensalidade.GC_AcademiaId select item).FirstOrDefault(); String cpf = oGC_Usuario.CPF.Split('.').Aggregate((current, next) => current + "" + next).Split('-').Aggregate((current, next) => current + "" + next); String oBody = sBody.Replace("#Mensalidade_ID#", oGC_Mensalidade[0].Id.ToString()); oBody = oBody.Replace("#FirstDueDate#", targetGC_Mensalidade.Vencimento.ToString("yyyy-MM-dd")); oBody = oBody.Replace("#amount#", (targetGC_Mensalidade.Valor - 1).ToString()); oBody = oBody.Replace("#numberOfPayments#", oGC_Mensalidade.Count.ToString()); oBody = oBody.Replace("#CPF#", cpf); oBody = oBody.Replace("#Name#", oGC_Usuario.Nome); oBody = oBody.Replace("#Email#", "fake_" + oGC_Usuario.Email); oBody = oBody.Replace("#AcademiaNome#", oGC_Academia.Nome); oBody = oBody.Split('\'').Aggregate((current, next) => current + "\"" + next); url = url.Replace("#token#", oGC_Academia.Token); url = url.Replace("#email#", oGC_Academia.Email); using (var client = new HttpClient()) { var httpContent = new StringContent(oBody, Encoding.UTF8, "application/json"); var response = client.PostAsync(url, httpContent).Result; if (response.IsSuccessStatusCode) { var responseContent = response.Content; string responseString = responseContent.ReadAsStringAsync().Result; dynamic myClass = Newtonsoft.Json.JsonConvert.DeserializeObject <dynamic>(responseString); List <dynamic> boletos = myClass.boletos.ToObject <List <dynamic> >(); List <GC_PagSeguroPagamento> lstGC_PagSeguroPagamento = new List <GC_PagSeguroPagamento>(); boletos.ForEach((x) => { GC_PagSeguroPagamento oGC_PagSeguroPagamento = new GC_PagSeguroPagamento(); oGC_PagSeguroPagamento.BarCode = x.barcode; oGC_PagSeguroPagamento.Code = x.code; oGC_PagSeguroPagamento.Link = x.paymentLink; oGC_PagSeguroPagamento.DueDate = x.dueDate; lstGC_PagSeguroPagamento.Add(oGC_PagSeguroPagamento); }); lstGC_PagSeguroPagamento = lstGC_PagSeguroPagamento.OrderBy(x => x.DueDate).ToList(); return(lstGC_PagSeguroPagamento); } else { var responseContent = response.Content; string responseString = responseContent.ReadAsStringAsync().Result; throw new Exception(responseString); } } return(null); //var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://ws.pagseguro.uol.com.br/recurring-payment/[email protected]&token=32728DC4EF0A4615BD716904E82DA4AE"); //httpWebRequest.ContentType = "application/json"; //httpWebRequest.Method = "POST"; //using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) //{ // streamWriter.Write(oBody); // streamWriter.Flush(); // streamWriter.Close(); //} //var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); //using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) //{ // var result = streamReader.ReadToEnd(); // dynamic myClass = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(result); // List<dynamic> boletos = myClass.boletos.ToObject<List<dynamic>>(); // List<GC_PagSeguroPagamento> lstGC_PagSeguroPagamento = new List<GC_PagSeguroPagamento>(); // boletos.ForEach((x) => // { // GC_PagSeguroPagamento oGC_PagSeguroPagamento = new GC_PagSeguroPagamento(); // oGC_PagSeguroPagamento.BarCode = x.barcode; // oGC_PagSeguroPagamento.Code = x.code; // oGC_PagSeguroPagamento.Link = x.paymentLink; // oGC_PagSeguroPagamento.DueDate = x.dueDate; // lstGC_PagSeguroPagamento.Add(oGC_PagSeguroPagamento); // }); // lstGC_PagSeguroPagamento = lstGC_PagSeguroPagamento.OrderBy(x => x.DueDate).ToList(); // return lstGC_PagSeguroPagamento; //} }
public List <GC_MensalidadeLog> Post([FromBody] GC_Mensalidade value) { return((from item in this.db.GC_MensalidadeLog where value.Id == item.GC_MensalidadeId select item).ToList()); }
public GC_PagSeguroPagamento Checkout(GC_Mensalidade oMensalidade, GC_Usuario oAluno, GC_Academia oInstituicao, String token, String senderHash) { string urlPagSeguro = System.Configuration.ConfigurationManager.AppSettings["pagSeguroURL_CHECKOUT"]; string urlNotification = System.Configuration.ConfigurationManager.AppSettings["notificationURL_" + oInstituicao.Id]; String sXML = @"<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?> <payment> <mode>default</mode> <method>creditCard</method> <sender> <name>#nome#</name> <email>#email#</email> <phone> <areaCode>11</areaCode> <number>30380000</number> </phone> <documents> <document> <type>CPF</type> <value>#cpf#</value> </document> </documents> <hash>#senderHash#</hash> </sender> <notificationURL>#notificationURL#</notificationURL> <currency>BRL</currency> <items> <item> <id>1</id> <description>#descricao#</description> <quantity>1</quantity> <amount>#valor#</amount> </item> </items> <extraAmount>0.00</extraAmount> <reference>R123456</reference> <shipping> <address> <street>Av. capistrano de Abreu</street> <number>486</number> <complement>1 andar</complement> <district>Jaguaribe</district> <city>Osasco</city> <state>SP</state> <country>BRA</country> <postalCode>06065120</postalCode> </address> <type>3</type> <cost>0.00</cost> </shipping> <creditCard> <token>#creditCardToken#</token> <installment> <quantity>1</quantity> <value>#valor#</value> </installment> <holder> <name>Nome No Cartao</name> <documents> <document> <type>CPF</type> <value>#cpf#</value> </document> </documents> <birthDate>20/10/1980</birthDate> <phone> <areaCode>11</areaCode> <number>999991111</number> </phone> </holder> <billingAddress> <street>Av. capistrano de Abreu</street> <number>486</number> <complement>1 andar</complement> <district>Jaguaribe</district> <city>Osasco</city> <state>SP</state> <country>BRA</country> <postalCode>06065120</postalCode> </billingAddress> </creditCard> </payment>"; sXML = sXML.Replace("#descricao#", "Mensalidade (" + oMensalidade.Vencimento.ToString("DD") + "/" + oMensalidade.Vencimento.ToString("YYYY") + ")"); sXML = sXML.Replace("#valor#", Convert.ToInt32(oMensalidade.Valor).ToString("N2")); sXML = sXML.Replace("#valor#", Convert.ToInt32(oMensalidade.Valor).ToString("N2")); sXML = sXML.Replace("#nome#", oAluno.Nome); sXML = sXML.Replace("#email#", oAluno.Email); sXML = sXML.Replace("#cpf#", oAluno.CPF); sXML = sXML.Replace("#cpf#", oAluno.CPF); sXML = sXML.Replace("#reference#", oMensalidade.Id.ToString()); sXML = sXML.Replace("#creditCardToken#", token); sXML = sXML.Replace("#senderHash#", senderHash); sXML = sXML.Replace("#notificationURL#", urlNotification); urlPagSeguro = urlPagSeguro.Replace("#emailInstituicao#", oInstituicao.Email); urlPagSeguro = urlPagSeguro.Replace("#token#", oInstituicao.Token); using (var client = new HttpClient()) { var httpContent = new StringContent(sXML, Encoding.UTF8, "application/xml"); var response = client.PostAsync(urlPagSeguro, httpContent).Result; if (response.IsSuccessStatusCode) { var responseContent = response.Content; // by calling .Result you are synchronously reading the result string responseString = responseContent.ReadAsStringAsync().Result; XmlDocument xml = new XmlDocument(); xml.LoadXml(responseString); GC_PagSeguroPagamento oPagSeguroPagamento = new GC_PagSeguroPagamento(); XmlNodeList nodeList = xml.GetElementsByTagName("code"); oPagSeguroPagamento.Code = nodeList[0].InnerText; nodeList = xml.GetElementsByTagName("date"); oPagSeguroPagamento.DueDate = nodeList[0].InnerText; return(oPagSeguroPagamento); } } return(null); }
public GC_PagSeguroPagamento Post([FromBody] GC_Mensalidade value) { return((from item in this.db.GC_PagSeguroPagamento where item.GC_MensalidadeId == value.Id select item).FirstOrDefault()); }