public JsonResult ReabrirProyecto(int IdProyecto) { try { //Saul González 11/03/2021: Validaciones de campos nulos if (String.IsNullOrEmpty(IdProyecto.ToString())) { return(Json(new { status = false, mensaje = "Ocurrió un error al obtener el Id del proyecto." })); } //Saul Gonzalez 22/03/2021: Cargamos los datos del pago Tb_Proyectos Proyecto = db.Tb_Proyectos.Where(y => y.Id == IdProyecto).FirstOrDefault(); if (Proyecto == null) { return(Json(new { status = false, mensaje = "ERROR L-178: Ocurrió un error al encontrar los datos del proyecto " + IdProyecto.ToString() })); } Proyecto.Estado = "Reabierto"; db.Tb_Proyectos.Attach(Proyecto); db.Entry(Proyecto).State = EntityState.Modified; db.SaveChanges(); } catch (Exception error) { return(Json(new { status = false, mensaje = error.Message })); } return(Json(new { status = true, mensaje = "Proyecto eliminado correctamente" })); }
public JsonResult EliminarPago(int Id) { try { //Saul González 11/03/2021: Validaciones de campos nulos if (String.IsNullOrEmpty(Id.ToString())) { return(Json(new { status = false, mensaje = "Ocurrió un error al obtener el Id del proyecto." })); } //Saul Gonzalez 22/03/2021: Cargamos los datos del pago Tb_Proyectos Proyecto = db.Tb_Proyectos.Where(y => y.Id == Id).FirstOrDefault(); if (Proyecto == null) { return(Json(new { status = false, mensaje = "ERROR L-178: Ocurrió un error al encontrar los datos del proyecto " + Id.ToString() })); } if (Proyecto.Tb_Pagos.Count > 0) { db.Tb_Pagos.RemoveRange(Proyecto.Tb_Pagos); } db.Tb_Proyectos.Remove(Proyecto); db.SaveChanges(); } catch (Exception error) { return(Json(new { status = false, mensaje = error.Message })); } return(Json(new { status = true, mensaje = "Proyecto eliminado correctamente" })); }
public JsonResult ActualizarDescripcion(string IdProyectoP, string Descripcion) { CultureInfo Culture = new CultureInfo("en-US"); //Definimos la cultura para que el separador de decimal sea por un Punto (.) try { //Saul González 14/04/2021: Validaciones de campos nulos if (String.IsNullOrEmpty(IdProyectoP)) { return(Json(new { status = false, mensaje = "Ocurrió un error al obtener el Id del proyecto, no fue posible actualizar la Descripcion." })); } if (String.IsNullOrEmpty(Descripcion)) { return(Json(new { status = false, mensaje = "El campo descripcion no puede estar vacio." })); } int Id_Proyecto = Int32.Parse(IdProyectoP); //Saul Gonzalez 13/04/2021: Consultamos los datos del proyecto Tb_Proyectos Proyecto = db.Tb_Proyectos.Where(y => y.Id == Id_Proyecto).FirstOrDefault(); if (Proyecto == null) { return(Json(new { status = false, mensaje = "Ocurrió un error al buscar el proyecto con el ID: " + IdProyectoP })); } //Saul gonzalez 14/04/2021: Actualizamos el monto inicial del proyecto Proyecto.Descripcion = Descripcion; //Saul gonzalez 14/04/2021: Guardamos los datos db.Tb_Proyectos.Attach(Proyecto); db.Entry(Proyecto).State = EntityState.Modified; db.SaveChanges(); } catch (Exception error) { return(Json(new { status = false, mensaje = error.Message })); } return(Json(new { status = true, mensaje = "Descripcion actualizada" })); }
public ActionResult DeleteConfirmed(int id) { Tb_Proyectos tb_Proyectos = db.Tb_Proyectos.Find(id); db.Tb_Proyectos.Remove(tb_Proyectos); db.SaveChanges(); return(RedirectToAction("Activos")); }
public JsonResult RegistrarProyecto(string NoProyecto, string MontoInicial, string Moneda, string Descripcion) { Tb_Proyectos Proyecto = new Tb_Proyectos(); CultureInfo Culture = new CultureInfo("en-US"); //Definimos la cultura para que el separador de decimal sea por un Punto (.) try { //Saul González 11/03/2021: Validaciones de campos nulos if (String.IsNullOrEmpty(NoProyecto)) { return(Json(new { status = false, mensaje = "Debe indicar el número de proyecto o cuenta." })); } if (String.IsNullOrEmpty(MontoInicial)) { return(Json(new { status = false, mensaje = "El monto inicial no puede estar vacío." })); } if (Convert.ToDecimal(MontoInicial, Culture) < 1) { return(Json(new { status = false, mensaje = "El monto inicial debe ser mayor a 0." })); } if (String.IsNullOrEmpty(Moneda)) { return(Json(new { status = false, mensaje = "Debe establecer una moneda para el proyecto." })); } if (String.IsNullOrEmpty(Descripcion)) { return(Json(new { status = false, mensaje = "El campo descripción es obligatorio." })); } //Saul Gonzalez 11/03/2021: Consultamos si el #Proyecto que se esta intentando registrar ya existe. Tb_Proyectos ValidarProyecto = db.Tb_Proyectos.Where(y => y.Num_Proyecto_Cuenta.Equals(NoProyecto)).FirstOrDefault(); if (ValidarProyecto != null) { return(Json(new { status = false, mensaje = "El número de proyecto o cuenta que ingreso ya existe." })); } //Saul gonzalez 11/03/2021: Asignamos valores al objeto Proyecto.Num_Proyecto_Cuenta = NoProyecto; Proyecto.FechaInicio = DateTime.Now; Proyecto.MontoInicial = Convert.ToDecimal(MontoInicial, Culture); Proyecto.Moneda = Moneda; Proyecto.MontoFinal = 0; Proyecto.Retorno = 0; Proyecto.Descripcion = Descripcion; Proyecto.Estado = "Activo"; //Saul gonzalez 11/03/2021: Guardamos los datos db.Tb_Proyectos.Add(Proyecto); db.SaveChanges(); } catch (Exception error) { return(Json(new { status = false, mensaje = error.Message })); } return(Json(new { status = true, mensaje = "Datos guardados", Id = Proyecto.Id })); }
public JsonResult ActualizarMontoInicial(string IdProyectoP, string MontoInicial) { CultureInfo CultureEN = new CultureInfo("en-US"); //Definimos la cultura para que el separador de decimal sea por un Punto (.) CultureInfo CultureES = new CultureInfo("es-ES"); try { //Saul González 23/03/2021: Validaciones de campos nulos if (String.IsNullOrEmpty(IdProyectoP)) { return(Json(new { status = false, mensaje = "Ocurrió un error al obtener el Id del proyecto, no fue posible actualizar el monto." })); } if (String.IsNullOrEmpty(MontoInicial)) { return(Json(new { status = false, mensaje = "El monto inicial no puede estar vacío." })); } int Id_Proyecto = Int32.Parse(IdProyectoP); //Saul Gonzalez 23/03/2021: Consultamos los datos del proyecto Tb_Proyectos Proyecto = db.Tb_Proyectos.Where(y => y.Id == Id_Proyecto).FirstOrDefault(); if (Proyecto == null) { return(Json(new { status = false, mensaje = "Ocurrió un error al buscar el proyecto con el ID: " + IdProyectoP })); } //Saul gonzalez 23/03/2021: Actualizamos el monto inicial del proyecto if (MontoInicial.Contains(".")) { Proyecto.MontoInicial = Convert.ToDecimal(MontoInicial, CultureEN); } else if (MontoInicial.Contains(",")) { Proyecto.MontoInicial = Convert.ToDecimal(MontoInicial, CultureES); } // Proyecto.MontoInicial = Convert.ToDecimal(MontoInicial); //Saul gonzalez 23/03/2021: Guardamos los datos db.Tb_Proyectos.Attach(Proyecto); db.Entry(Proyecto).State = EntityState.Modified; db.SaveChanges(); } catch (Exception error) { return(Json(new { status = false, mensaje = error.Message })); } return(Json(new { status = true, mensaje = "Datos guardados" })); }
public ActionResult Nuevo([Bind(Include = "ID_proyecto,Nombre,Descripcion,Notas,Fecha_creacion,Fecha_finalizacon,Tipo,Prioridad,ID_cliente,Activo,ID_empresa,Estado")] Tb_Proyectos tb_Proyectos) { tb_Proyectos.Notas = ""; tb_Proyectos.Fecha_creacion = DateTime.Today; tb_Proyectos.Fecha_finalizacon = DateTime.Today; tb_Proyectos.Activo = true; tb_Proyectos.ID_empresa = 1; if (ModelState.IsValid) { db.Tb_Proyectos.Add(tb_Proyectos); db.SaveChanges(); return(RedirectToAction("Activos", "Proyectos")); } else { return(RedirectToAction("Activos", "Proyectos")); } }
public JsonResult CargarDatosProyecto(int IdProyecto = 0) { cProyectos DatosProyecto = new cProyectos(); List <cPagos> ListaPagos = new List <cPagos>(); //Variables que calculan el subtotal, totalRetorno y MontoFinal decimal?Subtotal = 0; decimal?SubtotalMonto2 = 0; decimal?TotalRetorno = 0; decimal?MontoFinal = 0; try { //Saul González 12/03/2021: Validaciones de campos nulos if (String.IsNullOrEmpty(IdProyecto.ToString())) { return(Json(new { status = false, mensaje = "Error L52: Ocurrió un error al obtener el Id del proyecto." })); } //Saul González 12/03/2021: Cargamos los datos del proyecto Tb_Proyectos Proyecto = db.Tb_Proyectos.Where(y => y.Id == IdProyecto).FirstOrDefault(); if (Proyecto == null) { return(Json(new { status = false, mensaje = "Error L61: Ocurrió un error enocntrar el proyecto con el ID " + IdProyecto.ToString() })); } //HAY QUE CREAR UNA CLASE PARA COMBINAR LOS DATOS DEL PROYECTO JUNTO CON LA TABLA DE PAGOS Y ASI MOSTRAR TODO EN 1 SOLA LISTA #region Proyecto //Datos del proyecto DatosProyecto.Id = Proyecto.Id; DatosProyecto.Num_Proyecto_Cuenta = Proyecto.Num_Proyecto_Cuenta; DatosProyecto.FechaInicio = Proyecto.FechaInicio.ToString("yyyy-MM-dd"); DatosProyecto.MontoInicial = Proyecto.MontoInicial; DatosProyecto.MontoFinal = Proyecto.MontoFinal; DatosProyecto.Retorno = Proyecto.Retorno; DatosProyecto.Descripcion = Proyecto.Descripcion; DatosProyecto.Moneda = Proyecto.Moneda; DatosProyecto.Estado = Proyecto.Estado; #endregion #region Pagos //DATOS DE PAGO //Buscamos todos los pagos que esten relacionados con el proyecto List <Tb_Pagos> PagosDB = db.Tb_Pagos.Where(w => w.Tb_Proyectos.Id == IdProyecto).ToList(); if (PagosDB.Count > 0) { foreach (Tb_Pagos Pago in PagosDB) { cPagos o = new cPagos(); o.Id = Pago.Id; o.FechaPago = Pago.FechaPago.ToShortDateString(); o.Monto = Pago.Monto; o.Referencia = Pago.Referencia; o.TipoPago = Pago.TipoPago; o.Retorno = Pago.Retorno; o.REF_Retorno = Pago.REF_Retorno; o.RegistradoPor = Pago.RegistradoPor; o.Notas = Pago.Notas; //Datos de combinaciones de pago o.Monto2 = Pago.Monto2; o.TipoPago2 = Pago.TipoPago2; ListaPagos.Add(o); } } Subtotal = ListaPagos.Sum(x => x.Monto); SubtotalMonto2 = ListaPagos.Sum(y => y.Monto2); //sumamos los subtotales del monto1 con el monto2 if (SubtotalMonto2 > 0) { Subtotal = Subtotal + SubtotalMonto2; } TotalRetorno = ListaPagos.Sum(x => x.Retorno); MontoFinal = Proyecto.MontoInicial - Subtotal + TotalRetorno; #endregion } catch (Exception error) { return(Json(new { status = false, mensaje = error.Message })); } //Lista = Lista.OrderByDescending(x => x.FechaInicio).Reverse().ToList(); return(Json(new { status = true, DatosProyecto = DatosProyecto, ListaPagos = ListaPagos, Subtotal = Subtotal, TotalRetorno = TotalRetorno, MontoFinal = MontoFinal })); }
public JsonResult RegistrarPago(string IdProyecto, string Monto, string REF, string TipoPago, string Retorno = "", string NotasPago = "", string Monto2 = "", string tipoPago2 = "", DateTime?FechaESP = null) { Tb_Pagos Pago = new Tb_Pagos(); CultureInfo Culture = new CultureInfo("en-US"); //Definimos la cultura para que el separador de decimal sea por un Punto (.) try { int ID_PROYECTO = Convert.ToInt32(IdProyecto); //Saul González 11/03/2021: Validaciones de campos nulos if (String.IsNullOrEmpty(Monto.ToString())) { return(Json(new { status = false, mensaje = "Debe ingresar el monto pagado." })); } if (Convert.ToDecimal(Monto, Culture) < 1) { return(Json(new { status = false, mensaje = "El monto debe ser mayor a 0." })); } if (String.IsNullOrEmpty(REF)) { return(Json(new { status = false, mensaje = "Debe ingresar una referencia." })); } if (String.IsNullOrEmpty(TipoPago)) { return(Json(new { status = false, mensaje = "Debe seleccionar un tipo de pago." })); } if (Monto2 != string.Empty && TipoPago == tipoPago2) { return(Json(new { status = false, mensaje = "No es posible tener una combinación con el mismo tipo de pago." })); } //Saul Gonzalez 17/02/2021: Guardamos los datos del pago Pago.FechaPago = DateTime.Now; if (FechaESP != null) { Pago.FechaPago = Convert.ToDateTime(FechaESP); } Pago.Monto = Convert.ToDecimal(Monto, Culture); //Saul Gonzalez 24/03/2021: Validamos si se agrego una segunda combinacion de pago if (!String.IsNullOrEmpty(Monto2)) { Pago.Monto2 = Convert.ToDecimal(Monto2, Culture); Pago.TipoPago2 = tipoPago2; } Pago.Referencia = REF; Pago.TipoPago = TipoPago; Pago.RegistradoPor = Session["Usuario"].ToString(); Pago.Notas = NotasPago; //Validamos si se ingreso una cantidad en el campo de retorno, si esta vacia asignamos un 0 if (String.IsNullOrEmpty(Retorno)) { Pago.Retorno = 0; Pago.REF_Retorno = string.Empty; } else { Pago.Retorno = Convert.ToDecimal(Retorno, Culture); } //Nos traemos los datos del proyecto Tb_Proyectos Proyecto = db.Tb_Proyectos.Where(y => y.Id == ID_PROYECTO).FirstOrDefault(); if (Proyecto == null) { return(Json(new { status = false, mensaje = "ERROR L-148: Ocurrió un error al encontrar el Id del proyecto." })); } Pago.Tb_Proyectos = Proyecto; //Saul gonzalez 11/03/2021: Guardamos los datos db.Tb_Pagos.Add(Pago); db.SaveChanges(); } catch (Exception error) { return(Json(new { status = false, mensaje = error.Message })); } return(Json(new { status = true, mensaje = "Pago registrado correctamente." })); }