Example #1
0
        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" }));
        }
Example #2
0
 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" }));
 }
Example #3
0
        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"));
        }
Example #5
0
        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 }));
        }
Example #6
0
        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"));
            }
        }
Example #8
0
        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 }));
        }
Example #9
0
        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." }));
        }