Example #1
0
        public ActionResult Delete(Cuota cuota)
        {
            try
            {
                cuota.Motivo = "Delete Cuota";
                CuotaData.bajaCuota(cuota);

                return(Json(new { ok = true }));
            }
            catch (Exception e)
            {
                while (e.InnerException != null)
                {
                    e = e.InnerException;
                }
                ViewBag.ErrorMessage = string.Format(Strings.ErrorEliminarRegistroPorIntegridad);
            }
            ViewBag.modo = "Delete";
            string callback = Request.Params["callback"];

            if (string.IsNullOrEmpty(callback))
            {
                callback = "AjaxOk";
            }
            ViewBag.Callback = callback;
            PrepararViewBag(false, cuota);
            return(PartialView("Cuota", cuota));
        }
Example #2
0
        public ActionResult Delete(int?id)
        {
            if (id == null || !id.HasValue)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            string callback = Request.Params["callback"];

            if (string.IsNullOrEmpty(callback))
            {
                callback = "AjaxOk";
            }
            ViewBag.Callback = callback;
            ViewBag.modo     = "Delete";

            Cuota cuota = CuotaData.consultarCuota(id.Value);

            if (cuota == null)
            {
                return(HttpNotFound());
            }
            PrepararViewBag(false, cuota);

            return(View("Cuota", cuota));
        }
Example #3
0
        public ActionResult Edit(int?id)
        {
            if (id == null || !id.HasValue)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            string callback = Request.Params["callback"];

            if (string.IsNullOrEmpty(callback))
            {
                callback = "AjaxOk";
            }
            //var curso = new curso();
            ViewBag.modo     = "Edit";
            ViewBag.Callback = callback;

            Cuota cuota = CuotaData.consultarCuota(id.Value);

            if (cuota == null)
            {
                return(HttpNotFound());
            }
            Session.Add("cuota_" + cuota.Id.ToString(), cuota);
            PrepararViewBag(false, cuota);
            return(View("Cuota", cuota));
        }
Example #4
0
        public ActionResult PartialGrid(string IdUsuario = "", int?IdSede = null, int?IdCurso = null, int?IdOferta = null, string estado = "", int?IdPeriodo = null, int?IdConcepto = null, int?IdTipoCurso = null, int?NroCuotaDesde = null, int?NroCuotaHasta = null, decimal?ImporteDesde = null, decimal?ImporteHasta = null, decimal?Importe2Desde = null, decimal?Importe2Hasta = null, DateTime?FechaVtoDesde = null, DateTime?FechaVtoHasta = null, DateTime?FechaVto2Desde = null, DateTime?FechaVto2Hasta = null, DateTime?FechaPagoDesde = null, DateTime?FechaPagoHasta = null, DateTime?FechaBajaDesde = null, DateTime?FechaBajaHasta = null
                                        )
        {
            if (User.IsInRole("Ventanilla") && ApplicationUser.GetSede() != 19)
            {
                IdSede = ApplicationUser.GetSede();
            }

            var cuotas = new List <Cuota>();

            cuotas = CuotaData.consultarCuotas(IdUsuario, IdSede, IdCurso, IdOferta, estado, IdPeriodo, IdConcepto, IdTipoCurso,
                                               NroCuotaDesde, NroCuotaHasta, ImporteDesde, ImporteHasta, Importe2Desde, Importe2Hasta,
                                               FechaVtoDesde, FechaVtoHasta, FechaVto2Desde, FechaVto2Hasta, FechaPagoDesde, FechaPagoHasta, FechaBajaDesde, FechaBajaHasta
                                               );


            string codigosCuotas = "";

            //            ofertas.Select(x => x.codigo).ToList().ForEach(;
            cuotas.Where(x => x.Estado == "0").ToList().ForEach(x => codigosCuotas += "|" + x.Id.ToString());

            Session.Remove("cuotasParaEnviarEmail");
            Session.Add("cuotasParaEnviarEmail", codigosCuotas);

            return(PartialView("_Grid", cuotas));
        }
 public bool TieneDeudaAlumnoVencida(long id, string origen = "", DateTime?fecha = null, bool?SegundoVencimiento = null)
 {
     if (!fecha.HasValue)
     {
         fecha = DateTime.Now;
     }
     return(CuotaData.TieneDeudaVencida(id, origen, fecha.Value, SegundoVencimiento));
 }
Example #6
0
        public ActionResult imputar(int IdCuota)
        {
            Cuota cuota = new Cuota();

            cuota.Motivo = "Imputación manual - " + ApplicationUser.GetApellidoYNombre();
            cuota.Id     = IdCuota;

            CuotaData.ImputarPagoCuota(cuota);

            return(Json(new { ok = true }));
        }
Example #7
0
        public ActionResult baja(int IdCuota)
        {
            Cuota cuota = new Cuota();

            cuota.Motivo = "Baja manual - " + ApplicationUser.GetApellidoYNombre();
            cuota.Id     = IdCuota;

            CuotaData.bajaCuota(cuota);

            return(Json(new { ok = true }));
        }
Example #8
0
        public ActionResult ConfirmarSolicitud(int?codigo)
        {
            try
            {
                if (codigo == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                // else
                //Imputo las cuotas de las personas que se aceptaron la baja
                //imputarCuotas(codigo);

                cursa cursa = db.cursa.Find(codigo);
                cursa.estado = 6;

                ModelState.Remove("DescripcionBaja");
                db.Configuration.ValidateOnSaveEnabled = false;
                if (db.SaveChanges() > 0)
                {
                    List <Cuota> cuotas = CuotaData.consultarCuotas(cursa.alumno.ToString(), null, cursa.oferta1.curso).Where(x => x.NroFactura.Contains(cursa.codigo.ToString()) && !x.Estado.Equals("B")).ToList();

                    BajasCuotas(cuotas);
                    //Enviar mail al alumno
                    string mail = db.AspNetUsers.Where(x => x.Id.Equals(cursa.alumno)).First().Email;

                    cnrl.Logica.App.enviarMailUsuario(mail, "Solicitud de Baja", "Se aprobó la solicitud de baja solicitada "
                                                      + "para el curso " + cursa.oferta1.curso1.descripcion + ", codigo de curso " + cursa.oferta1.curso1.codCurso + ".<br><br> ");

                    if (cursa.DescripcionBaja != null)
                    {
                        return(Json(new { ok = true, motivo = "El alumno/a <b>" + cursa.AspNetUsers.Apellido + ", " + cursa.AspNetUsers.Nombre + "</b> solicito la baja de cursada por el siguiente motivo: <br><b>" + cursa.DescripcionBaja + "</b>" }));
                    }
                    else
                    {
                        return(Json(new { ok = true, motivo = "" }));
                    }
                }
                else
                {
                    return(Json(new { ok = false }));
                }
            }
            catch (Exception e)
            {
                while (e.InnerException != null)
                {
                    e = e.InnerException;
                }
                ViewBag.ErrorMessage = string.Format(Strings.ErrorIntentarInsertarRegistro, e.Message.Replace(Strings.TheStatementHasBeenTerminated, ""));
                return(View());
            }
        }
Example #9
0
        public async Task <ActionResult> Edit(Cuota cuota)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    //LLAMAR WEBSERVICE POST

                    var oferta = db.oferta.Find(cuota.NroComision);
                    if (oferta != null)
                    {
                        cuota.NroCurso = oferta.curso;
                        cuota.CodCon   = oferta.curso1.concepto;
                    }
                    var cuotaOriginal = (Cuota)Session["cuota_" + cuota.Id.ToString()];

                    if (oferta == null)
                    {
                        cuota.NroCurso = cuotaOriginal.NroCurso;
                        cuota.CodCon   = cuotaOriginal.CodCon;
                    }
                    cuota.Motivo     = cuotaOriginal.Motivo;
                    cuota.fechaBaja  = cuotaOriginal.fechaBaja;
                    cuota.fechaPago  = cuotaOriginal.fechaPago;
                    cuota.NroFactura = cuotaOriginal.NroFactura;
                    cuota.Estado     = cuotaOriginal.Estado;
                    cuota.Origen     = cuotaOriginal.Origen;

                    await CuotaData.actualizarCuota(cuota);

                    Session.Remove("cuota_" + cuota.Id.ToString());
                    return(Json(new { ok = true }));
                }
            }
            catch (Exception e)
            {
                while (e.InnerException != null)
                {
                    e = e.InnerException;
                }
                ViewBag.ErrorMessage = string.Format(
                    Strings.ErrorIntentarInsertarRegistro,
                    e.Message.Replace(Strings.TheStatementHasBeenTerminated, "")
                    );
            }

            ViewBag.modo     = "Edit";
            ViewBag.Callback = "AjaxOk";
            PrepararViewBag(false, cuota);
            return(View("Cuota", cuota));
        }
Example #10
0
        public ActionResult Exportar(string hiddenUsuario = "", int?IdSede = null, int?IdCurso = null, int?IdOferta = null, string estado = "", int?IdPeriodo = null, int?IdConcepto = null, int?IdTipoCurso = null, int?NroCuotaDesde = null, int?NroCuotaHasta = null, decimal?ImporteDesde = null, decimal?ImporteHasta = null, decimal?Importe2Desde = null, decimal?Importe2Hasta = null, DateTime?FechaVtoDesde = null, DateTime?FechaVtoHasta = null, DateTime?FechaVto2Desde = null, DateTime?FechaVto2Hasta = null, DateTime?FechaPagoDesde = null, DateTime?FechaPagoHasta = null, DateTime?FechaBajaDesde = null, DateTime?FechaBajaHasta = null)
        {
            var cuotas = new List <Cuota>();

            if (User.IsInRole("Ventanilla"))
            {
                IdSede = ApplicationUser.GetSede();
            }

            cuotas = CuotaData.consultarCuotas(hiddenUsuario, IdSede, IdCurso, IdOferta, estado, IdPeriodo, IdConcepto, IdTipoCurso,
                                               NroCuotaDesde, NroCuotaHasta, ImporteDesde, ImporteHasta, Importe2Desde, Importe2Hasta,
                                               FechaVtoDesde, FechaVtoHasta, FechaVto2Desde, FechaVto2Hasta, FechaPagoDesde, FechaPagoHasta, FechaBajaDesde, FechaBajaHasta
                                               );

            ExportSettings.DefaultExportType = ExportType.WYSIWYG;
            return(GridViewExtension.ExportToXlsx(CrearGridViewSettingsExportar("Cuotas"), cuotas, true));
        }
Example #11
0
        public void imputarCuotas(int?codigo)
        {
            Cuota  cuota  = new Cuota();
            string motivo = "Imputación manual - " + ApplicationUser.GetApellidoYNombre();

            cuota.Motivo = motivo;

            cursa         cursa  = db.cursa.Find(codigo);
            List <oferta> oferta = db.oferta.Where(z => z.codigo.Equals(cursa.oferta1.codigo)).ToList();
            AspNetUsers   pibe   = db.AspNetUsers.Where(x => x.Id.Equals(cursa.alumno)).First();

            //
            var cuotas = new List <Cuota>();

            cuotas = CuotaData.consultarCuotas(pibe.Id, null, oferta[0].curso, oferta[0].codigo, null, null, null, null,
                                               null, null, null, null, null, null,
                                               null, null, null, null, null, null, null, null
                                               );
            //

            var httpClient = new HttpClient();

            httpClient.BaseAddress = new Uri(ConfigurationManager.AppSettings["ServicioTeso"]);
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
                                                                                           Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(ConfigurationManager.AppSettings["ServicioTesoUsuario"])));

            List <KeyValuePair <string, object> > parametros = new List <KeyValuePair <string, object> >();

            foreach (Cuota parcial in cuotas)
            {
                parametros.Add(new KeyValuePair <string, object>("id", parcial.Id.ToString()));
                parametros.Add(new KeyValuePair <string, object>("motivo", motivo));

                var responseGet = httpClient.GetAsync("Cuota/ImputarPagoCuota" + Constantes.AsQueryString(parametros)).Result;
                var respuesta   = responseGet.Content.ReadAsAsync <bool>().Result;
                if (responseGet.IsSuccessStatusCode == false)
                {
                    throw new Exception("Error en servicio Tesoreria");
                }

                parametros.Clear();
            }
        }
Example #12
0
        public ActionResult VerMotivoBaja(int?codigo)
        {
            try
            {
                if (codigo == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                /*else
                 *  //Imputo las cuotas de las personas que se aceptaron la baja
                 *  imputarCuotas(codigo);*/

                cursa cursa = db.cursa.Find(codigo);
                //cursa.estado = 6;

                //ModelState.Remove("DescripcionBaja");
                //db.Configuration.ValidateOnSaveEnabled = false;
                //if (db.SaveChanges() > 0)
                //{

                //List<Cuota> cuota = CuotaData.consultarCuotas(cursa.alumno.ToString(), null, cursa.oferta1.curso, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
                List <Cuota> cuota         = CuotaData.consultarCuotas(cursa.alumno.ToString(), null, cursa.oferta1.curso).Where(x => x.NroFactura.Contains(cursa.codigo.ToString()) && !x.Estado.Equals("B")).ToList();
                string       cuotasMensaje = "";

                cuotasMensaje  = "<div><table class=\"table\"><thead><tr><th><strong> Cuota </strong></th>";
                cuotasMensaje += "<th><strong> Importe </strong></th>";
                cuotasMensaje += "<th><strong> Estado </strong></th>";
                cuotasMensaje += "<th><strong> Fecha Vto </strong></th></tr></thead>";


                foreach (Cuota item in cuota)
                {
                    cuotasMensaje += "<tbody><tr><td>" + item.NroCuota + "</td><td>$" + decimal.Round(item.Importe, 2) + "</td><td>" + item.EstadoDescripcion + "</td><td>" + item.fechavto.Value.ToShortDateString() + "</td></tr>";
                }

                cuotasMensaje += "</tbody></table></div>";

                if (cursa.DescripcionBaja != null)
                {
                    return(Json(new { ok = true, curso = cursa.oferta1.curso1.descripcion.ToString(), cuotas = cuotasMensaje, motivo = "El alumno/a <b>" + cursa.AspNetUsers.Apellido + ", " + cursa.AspNetUsers.Nombre + "</b> solicito la baja de cursada por el siguiente motivo: <br><b>" + cursa.DescripcionBaja + "</b><br> ¿Acepta la Baja?", fechaBaja = cursa.DateModified.ToShortDateString().ToString() }));
                }
                else
                {
                    return(Json(new { ok = true, curso = cursa.oferta1.curso1.descripcion.ToString(), cuotas = cuotasMensaje, motivo = "", fechaBaja = cursa.DateModified.ToShortDateString().ToString() }));
                }

                //}
                //else
                //return Json(new { ok = false });
            }
            catch (Exception e)
            {
                while (e.InnerException != null)
                {
                    e = e.InnerException;
                }
                ViewBag.ErrorMessage = string.Format(Strings.ErrorIntentarInsertarRegistro, e.Message.Replace(Strings.TheStatementHasBeenTerminated, ""));
                return(View());
            }
        }
Example #13
0
        public ActionResult Enviar(MailModel mail, HttpPostedFileBase adjunto1, HttpPostedFileBase adjunto2, HttpPostedFileBase adjunto3, HttpPostedFileBase adjunto4)
        {
            int Ok    = 0;
            int Error = 0;

            if (adjunto1 != null)
            {
                //mail.ImageMimeType = adjunto.ContentType;
                mail.adjunto = new byte[adjunto1.ContentLength];
                adjunto1.InputStream.Read(mail.adjunto, 0, adjunto1.ContentLength);
            }

            List <MailModel> mails = new List <MailModel>();

            if (!string.IsNullOrEmpty(mail.modo) && mail.modo == "Oferta")
            {
                //var ofertas = (List<oferta>)Session["ofertasParaEnviarEmail"];
                var codigos = mail.codigos != null?mail.codigos.Split('|') : null;


                if (codigos != null && codigos.Count() > 0)
                {
                    oferta ofertaAdministrador = null;

                    foreach (var cod in codigos)
                    {
                        int codigo = 0;
                        if (int.TryParse(cod, out codigo))
                        {
                            var oferta = db.oferta.Find(codigo);
                            ofertaAdministrador = oferta;
                            foreach (var cur in oferta.cursa)
                            {
                                var email = new MailModel();

                                email.asunto        = reemplazarVariablesOferta(reemplazarVariablesUsuario(mail.asunto, cur.AspNetUsers), oferta);
                                email.editor        = reemplazarVariablesOferta(reemplazarVariablesUsuario(mail.editor, cur.AspNetUsers), oferta);
                                email.destinatarios = cur.AspNetUsers.Email;

                                if (!mails.Where(x => x.destinatarios == email.destinatarios).Any() ||
                                    (mails.Where(x => x.destinatarios == email.destinatarios).Any() &&
                                     (!mails.Where(x => x.asunto == email.asunto).Any() || !mails.Where(x => x.editor == email.editor).Any())))   //evita enviar el mismo mail a una persona 2 veces (si es que no se usaron variables)
                                {
                                    mails.Add(email);
                                }
                            }
                        }
                    }

                    if (ofertaAdministrador != null)
                    {
                        var userAdministrador  = db.AspNetUsers.Find(ApplicationUser.GetId());
                        var emailAdministrador = new MailModel();
                        emailAdministrador.asunto        = reemplazarVariablesOferta(reemplazarVariablesUsuario(mail.asunto, userAdministrador), ofertaAdministrador);
                        emailAdministrador.editor        = reemplazarVariablesOferta(reemplazarVariablesUsuario(mail.editor, userAdministrador), ofertaAdministrador);
                        emailAdministrador.destinatarios = userAdministrador.Email;
                    }
                }
            }
            else if (!string.IsNullOrEmpty(mail.modo) && mail.modo == "Deuda")
            {
                //var ofertas = (List<oferta>)Session["ofertasParaEnviarEmail"];
                //var codigos = mail.codigos.Split('|');
                var cuotas = CuotaData.consultarCuotas(mail.codigos);

                //asdas
                foreach (var cuota in cuotas)
                {
                    var oferta  = db.oferta.Find(cuota.NroComision);
                    var usuario = db.AspNetUsers.Where(x => x.NroDocumento == cuota.Dni).First();

                    if (oferta != null && usuario != null)
                    {
                        var email = new MailModel();

                        email.asunto        = reemplazarVariablesCuota(reemplazarVariablesOferta(reemplazarVariablesUsuario(mail.asunto, usuario), oferta), cuota);
                        email.editor        = reemplazarVariablesCuota(reemplazarVariablesOferta(reemplazarVariablesUsuario(mail.editor, usuario), oferta), cuota);
                        email.destinatarios = usuario.Email;

                        if (!mails.Where(x => x.destinatarios == email.destinatarios).Any() ||
                            (mails.Where(x => x.destinatarios == email.destinatarios).Any() &&
                             (!mails.Where(x => x.asunto == email.asunto).Any() || !mails.Where(x => x.editor == email.editor).Any())))   //evita enviar el mismo mail a una persona 2 veces (si es que no se usaron variables)
                        {
                            mails.Add(email);
                        }
                    }
                }
            }
            else if (!string.IsNullOrEmpty(mail.modo) && mail.modo == "Usuario")
            {
                var nrosDoc = Session["usuariosParaEnviarEmail"].ToString();
                var codigos = nrosDoc.Split('|');



                foreach (var cod in codigos)
                {
                    int codigo = 0;
                    if (int.TryParse(cod, out codigo))
                    {
                        var usuario = db.AspNetUsers.Where(x => x.NroDocumento == codigo).First();


                        var email = new MailModel();

                        email.asunto        = reemplazarVariablesUsuario(mail.asunto, usuario);
                        email.editor        = reemplazarVariablesUsuario(mail.editor, usuario);
                        email.destinatarios = usuario.Email;

                        if (!mails.Where(x => x.destinatarios == email.destinatarios).Any() ||
                            (mails.Where(x => x.destinatarios == email.destinatarios).Any() &&
                             (!mails.Where(x => x.asunto == email.asunto).Any() || !mails.Where(x => x.editor == email.editor).Any())))   //evita enviar el mismo mail a una persona 2 veces (si es que no se usaron variables)
                        {
                            mails.Add(email);
                        }
                    }
                }



                foreach (var email in mails)
                {
                    string resultado = cnrl.Logica.App.EnviarMailComunicacion(
                        email.destinatarios,
                        email.asunto,
                        email.editor,
                        false,
                        User.Identity.Name,
                        adjunto1,
                        adjunto2,
                        adjunto3,
                        adjunto4);

                    if (resultado == "Ok")
                    {
                        Ok++;
                    }
                    else
                    {
                        Error++;
                    }
                }

                ViewBag.Enviados = Ok;
                ViewBag.Errores  = Error;
                ViewBag.Error    = (Error > 0) ? true : false;
                ViewBag.Mensaje  = "";

                return(View("Enviados"));
            }
            else
            {
                ViewBag.Enviados = 0;
                ViewBag.Errores  = 0;
                ViewBag.Error    = true;
                ViewBag.Mensaje  = "No habia datos en sesión";
                return(View("Enviados"));
            }


            foreach (var email in mails)
            {
                string resultado = cnrl.Logica.App.EnviarMailComunicacion(
                    email.destinatarios,
                    email.asunto,
                    email.editor,
                    false,
                    User.Identity.Name,
                    adjunto1,
                    adjunto2,
                    adjunto3,
                    adjunto4);

                if (resultado == "Ok")
                {
                    Ok++;
                }
                else
                {
                    Error++;
                }
            }

            ViewBag.Enviados = Ok;
            ViewBag.Errores  = Error;
            ViewBag.Error    = (Error > 0) ? true : false;
            ViewBag.Mensaje  = "";

            return(Json(new { ok = (Ok > 0) ? true : false }));

            //            return View("Enviados");
            //return GridViewExtension.ExportToXls(CrearGridViewSettingsExportar(letra), personas, true);
        }
 public bool TieneDeudaAlumno(long id)
 {
     return(CuotaData.TieneDeuda(id));
 }
Example #15
0
        public async System.Threading.Tasks.Task <ActionResult> EmitirCuponCuota(int?id)
        {
            if (id != null && id.HasValue)
            {
                var cuota = CuotaData.consultarCuota(id.Value);

                var usuario = db.AspNetUsers.Where(x => x.NroDocumento == cuota.Dni).FirstOrDefault();
                var oferta  = db.oferta.Find(cuota.NroComision);
                //cursa cursa = null;
                //int NroCursa = 0;
                //var SNroCursa = cuota.NroFactura.Split('_').First();
                //if (int.TryParse(SNroCursa, out NroCursa))
                //{
                //    cursa = db.cursa.Where(x => x.codigo == NroCursa).FirstOrDefault();
                //}

                using (var httpClient = new HttpClient())
                {
                    httpClient.BaseAddress = new Uri(ConfigurationManager.AppSettings["ServicioTeso"]);
                    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
                                                                                                   Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(ConfigurationManager.AppSettings["ServicioTesoUsuario"])));

                    List <KeyValuePair <string, object> > parametros = new List <KeyValuePair <string, object> >();
                    parametros.Add(new KeyValuePair <string, object>("origen", ConfigurationManager.AppSettings["OrigenTeso"]));
                    parametros.Add(new KeyValuePair <string, object>("nroFactura", cuota.NroFactura));
                    if (usuario != null)
                    {
                        parametros.Add(new KeyValuePair <string, object>("nombre", CultureInfo.CurrentCulture.TextInfo.ToTitleCase(usuario.descripcion.ToLower())));
                    }
                    if (oferta != null && oferta.curso1 != null)
                    {
                        parametros.Add(new KeyValuePair <string, object>("curso", oferta.curso1.descripcion));
                    }
                    else
                    {
                        if (cuota.NroCurso > 0)
                        {
                            var curso = db.curso.Where(x => x.codCurso == cuota.NroCurso).FirstOrDefault();

                            if (curso != null)
                            {
                                parametros.Add(new KeyValuePair <string, object>("curso", curso.descripcion));
                            }
                        }
                    }

                    //if (cuota.NroCuota == 1)
                    //{
                    if (oferta != null && oferta.curso1 != null && oferta.curso1.tipocurso1.sector != (int)Sectores.Graduados)
                    {
                        int dias = int.Parse(ConfigurationManager.AppSettings["Dias1erCuota"].ToString());
                        parametros.Add(new KeyValuePair <string, object>("vencimientoRelativo", true));
                        parametros.Add(new KeyValuePair <string, object>("diasVencimientoRelativo", dias));
                        parametros.Add(new KeyValuePair <string, object>("tipoCurso", true));
                    }

                    //}

                    var responseGet = await httpClient.GetAsync("Cuota.pdf" + Constantes.AsQueryString(parametros));

                    var cuponPdf = await responseGet.Content.ReadAsByteArrayAsync();

                    return(File(cuponPdf, "application/pdf", string.Format("{0}-{1}.pdf", cuota.Dni, DateTime.Now.ToShortDateString())));
                }
            }
            else
            {
                throw new Exception("Error en llamada a Servicio");
            }
        }
Example #16
0
        public async Task <ActionResult> Create(Cuota cuota)
        {
            try
            {
                ModelState.Remove("Id");
                if (ModelState.IsValid)
                {
                    var oferta = db.oferta.Find(cuota.NroComision);
                    cuota.NroCurso = oferta.curso;
                    cuota.CodCon   = oferta.curso1.concepto;
                    cuota.Motivo   = "";
                    cuota.Estado   = Constantes.ESTADO_CUOTA_IMPAGA;
                    cuota.Origen   = ConfigurationManager.AppSettings["OrigenTeso"];
                    var cursa = db.cursa.Where(x => x.oferta == (cuota.NroComision) && x.AspNetUsers.NroDocumento == (cuota.Dni));
                    if (cursa != null && cursa.Count() > 0)
                    {
                        List <Cuota> cu = CuotaData.consultarCuotas(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, cursa.First().codigo.ToString());

                        List <Cuota> cuo       = cu.Where(x => x.NroFactura.Contains("_1_")).ToList().OrderByDescending(x => x.NroFactura).ToList();
                        int          sumaCuota = 0;
                        if (cuo.Count() > 0)
                        {
                            string[] split = cuo.First().NroFactura.Split('_');
                            sumaCuota = int.Parse(split[2]);
                        }


                        if (cuota.TotalCuota == 1)
                        {
                            cuota.NroFactura = cursa.First().codigo.ToString() + "_" + cuota.NroCuota.ToString() + "_" + (cuota.TotalCuota + sumaCuota).ToString();
                        }
                        else
                        {
                            cuota.NroFactura = cursa.First().codigo.ToString() + "_" + cuota.NroCuota.ToString();
                        }
                    }
                    else
                    {
                        cuota.NroFactura = oferta.codigo.ToString() + cuota.Dni + "_" + cuota.NroCuota.ToString();
                    }

                    await CuotaData.generarCuota(cuota);

                    //var content = new StringContent(JsonConvert.SerializeObject(cuota));
                    //content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                    //var response = await client.PostAsync(ConfigurationManager.AppSettings["ServicioTeso"] + "Cuota/GenerarCuota", content);
                    //if (response.IsSuccessStatusCode == false)//error!
                    //{
                    //    var error = await response.Content.ReadAsStringAsync();
                    //    throw new Exception(error);
                    //}
                    return(Json(new { ok = true }));

                    //           return RedirectToAction("Index");
                }
            }
            catch (Exception e)
            {
                while (e.InnerException != null)
                {
                    e = e.InnerException;
                }
                ViewBag.ErrorMessage = string.Format(
                    Strings.ErrorIntentarInsertarRegistro,
                    e.Message.Replace(Strings.TheStatementHasBeenTerminated, "")
                    );
            }
            ViewBag.modo     = "Create";
            ViewBag.Callback = "AjaxOk";
            PrepararViewBag(false, cuota);
            return(PartialView("Cuota", cuota));
        }