예제 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            cursa cursa = db.cursa.Find(id);

            db.cursa.Remove(cursa);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #2
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());
            }
        }
예제 #3
0
 public ActionResult Edit([Bind(Include = "oferta,fechaAlta,aprobo,observacion,alumno,codigo,estado,cantidadCuotas,RequierePreInscripcion")] cursa cursa)
 {
     if (ModelState.IsValid)
     {
         db.Entry(cursa).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.estado = new SelectList(db.EstadoCursa, "codigo", "descripcion", cursa.estado);
     ViewBag.alumno = new SelectList(db.AspNetUsers, "Id", "Email", cursa.alumno);
     ViewBag.oferta = new SelectList(db.oferta, "codigo", "docente", cursa.oferta);
     return(View(cursa));
 }
예제 #4
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            cursa cursa = db.cursa.Find(id);

            if (cursa == null)
            {
                return(HttpNotFound());
            }
            return(View(cursa));
        }
예제 #5
0
        public ActionResult RechazarSolicitud(int?codigo, string mensaje = null)
        {
            try
            {
                if (codigo == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                cursa cursa = db.cursa.Find(codigo);
                cursa.estado           = cursa.EstadoAntBaja;
                cursa.resultadoCursada = 4;
                cursa.baja             = null;
                cursa.DescripcionBaja  = null;
                cursa.EstadoAntBaja    = null;

                ModelState.Remove("DescripcionBaja");
                ModelState.Remove("MotivoBaja");
                db.Configuration.ValidateOnSaveEnabled = false;
                if (db.SaveChanges() > 0)
                {
                    //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 rechazo la solicitud de baja solicitada "
                                                      + "para el curso " + cursa.oferta1.curso1.descripcion + ", codigo de curso " + cursa.oferta1.curso1.codCurso + ".<br><br> "
                                                      + mensaje);


                    return(Json(new { ok = true, motivo = "" }));
                }
                else
                {
                    return(Json(new { ok = false, motivo = "" }));
                }
            }
            catch (Exception e)
            {
                while (e.InnerException != null)
                {
                    e = e.InnerException;
                }
                ViewBag.ErrorMessage = string.Format(Strings.ErrorIntentarInsertarRegistro, e.Message.Replace(Strings.TheStatementHasBeenTerminated, ""));
                return(View());
            }
        }
예제 #6
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            cursa cursa = db.cursa.Find(id);

            if (cursa == null)
            {
                return(HttpNotFound());
            }
            ViewBag.estado = new SelectList(db.EstadoCursa, "codigo", "descripcion", cursa.estado);
            ViewBag.alumno = new SelectList(db.AspNetUsers, "Id", "Email", cursa.alumno);
            ViewBag.oferta = new SelectList(db.oferta, "codigo", "docente", cursa.oferta);
            return(View(cursa));
        }
예제 #7
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();
            }
        }
예제 #8
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());
            }
        }