public ActionResult Edit(Rol rol)
 {
     if (ModelState.IsValid)
     {
         db.Entry(rol).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(rol));
 }
 public ActionResult Edit([Bind(Include = "EstadoActividad_Id,Descripcion")] EstadosActividad estadosActividad)
 {
     if (ModelState.IsValid)
     {
         db.Entry(estadosActividad).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(estadosActividad));
 }
Ejemplo n.º 3
0
 public ActionResult Edit([Bind(Include = "Usuario_Id,RolId")] UsuariosRoles usuariosRoles)
 {
     if (ModelState.IsValid)
     {
         db.Entry(usuariosRoles).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(usuariosRoles));
 }
Ejemplo n.º 4
0
 public ActionResult Edit([Bind(Include = "Naturaleza_Id,Descripcion")] TiposNaturaleza tiposNaturalezas)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tiposNaturalezas).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(tiposNaturalezas));
 }
Ejemplo n.º 5
0
 public ActionResult Edit([Bind(Include = "Id,FechaInicio,TipoContrato_Id,Persona_Id,ObjetoContractual,Plazo,FechaTerminacion,PersonaAbogado_Id,PersonaSuperviosr_Id,Crp,Cdp,FechaActaInicio,TipoEstadoContrato_Id,Year,ValorContrato,ValorAdministrar,Honorarios,Ejecucion,PorcentajeFacturado,PorcentajeFacturadoHonorarios,PersonaSupervisorTecnico_Id,ContratoMarco_Id")] Contratos contratos)
 {
     if (ModelState.IsValid)
     {
         db.Entry(contratos).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(contratos));
 }
Ejemplo n.º 6
0
 public ActionResult Edit([Bind(Include = "TiposEstadoContrato_Id,Descripcion")] TiposEstadoContrato tiposEstadoContrato)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tiposEstadoContrato).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(tiposEstadoContrato));
 }
 public ActionResult Edit([Bind(Include = "DocumentoId,Descripcion,Prefijo")] TiposDocumentos tiposDocumentos)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tiposDocumentos).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(tiposDocumentos));
 }
Ejemplo n.º 8
0
 public ActionResult Edit([Bind(Include = "ContratoMarco_Id,Descripcion")] ContratosMarco contratosMarco)
 {
     if (ModelState.IsValid)
     {
         db.Entry(contratosMarco).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(contratosMarco));
 }
Ejemplo n.º 9
0
 public ActionResult Edit([Bind(Include = "Id,Descripcion")] FormaPago formaPago)
 {
     if (ModelState.IsValid)
     {
         db.Entry(formaPago).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(formaPago));
 }
 public ActionResult Edit([Bind(Include = "ActividadesEtapasId,Descripción")] ActividadesEtapas actividadesEtapas)
 {
     if (ModelState.IsValid)
     {
         db.Entry(actividadesEtapas).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(actividadesEtapas));
 }
Ejemplo n.º 11
0
 public ActionResult Edit([Bind(Include = "TipoPersona_Id,Descripcion,Naturaleza_Id,Cargo")] TiposPersona tiposPersona)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tiposPersona).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Naturaleza_Id = new SelectList(db.TiposNaturaleza, "Naturaleza_Id", "Descripcion", tiposPersona.Naturaleza_Id);
     return(View(tiposPersona));
 }
Ejemplo n.º 12
0
 public ActionResult Edit([Bind(Include = "Persona_Id,Nombres,Apellidos,Direccion,Telefono,Correo,TipoPersona_Id")] Personas personas)
 {
     if (ModelState.IsValid)
     {
         db.Entry(personas).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.TipoPersona_Id = new SelectList(db.TiposPersonas, "TipoPersona_Id", "Descripcion", personas.TipoPersona_Id);
     return(View(personas));
 }
Ejemplo n.º 13
0
        public ActionResult Edit([Bind(Include = "EstadoFactura_Id,Descripcion,Termino")] EstadosFactura estadosFactura)
        {
            if (ModelState.IsValid)
            {
                db.Entry(estadosFactura).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(estadosFactura));
        }
Ejemplo n.º 14
0
 public ActionResult Edit(Permisos permisos)
 {
     if (ModelState.IsValid)
     {
         db.Entry(permisos).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ModuloId = new SelectList(db.Modulos.OrderBy(x => x.Descripción), "ModuloId", "Descripción", permisos.ModuloId);
     return(View(permisos));
 }
Ejemplo n.º 15
0
 public ActionResult Edit([Bind(Include = "Actividad_Id,registrofacescontratos_id,FaseContrato_Id,Item,Descripción,DiasHabiles,FechaInicio,FechaFinal,EstadoActividad_Id,Observaciones")] Actividades actividades)
 {
     if (ModelState.IsValid)
     {
         db.Entry(actividades).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.EstadoActividad_Id        = new SelectList(db.EstadosActividad, "EstadoActividad_Id", "Descripcion", actividades.EstadoActividad_Id);
     ViewBag.registrofacescontratos_id = new SelectList(db.Registrofacescontratos, "registrofacescontratos_id", "registrofacescontratos_id", actividades.Registrofacescontratos_id);
     return(View(actividades));
 }
        public JsonResult ActualizarValorEjecutado(int idContrato, double?valorEjecutado)
        {
            double porcentajeEjecucion = 0;
            string mensaje             = "";
            string error = "";

            if (valorEjecutado != null)
            {
                Contratos contrato = db.Contratos.Where(c => c.Contrato_Id == idContrato).FirstOrDefault();

                if (valorEjecutado > 0)
                {
                    try
                    {
                        contrato.Ejecucion       = valorEjecutado;
                        db.Entry(contrato).State = EntityState.Modified;
                        if (db.SaveChanges() > 0)
                        {
                            mensaje             = "El valor ejecutado del contrato " + contrato.NumeroContrato + " fue actualizado exitosamente.";
                            porcentajeEjecucion = Math.Round(contrato.PorcentajeValorEjecutado, 2);
                        }
                        else
                        {
                            mensaje = "No fue posible actualizar el valor ejecutado del contrato " + contrato.NumeroContrato + ".";
                        }
                    }
                    catch (Exception)
                    {
                        error = "Ocurrió un error al intentar actualizar el valor ejecutado del contrato " + contrato.NumeroContrato + ".";
                    }
                }
                else
                {
                    error = "<b>Error:</b> El valor ejecutado ingresado no es válido.";
                }
            }
            else
            {
                error = "<b>Error:</b> Debe especificar el valor ejecutado.";
            }

            return(Json("{ \"porcentajeEjecucion\": " + porcentajeEjecucion + ", \"mensaje\": \"" + mensaje + "\", \"error\": \"" + error + "\" }"));
        }
        public ActionResult Edit(Factura factura, FormCollection form)
        {
            //bool exito = false;
            ViewBag.Accion = EDITAR;
            ViewBag.IsEdit = true;
            int estadoId = factura.Estado_Id;

            factura = db.Factura.Where(f => f.Factura_Id == factura.Factura_Id).Include(f => f.PagoContrato).FirstOrDefault();
            if (factura == null)
            {
                return(HttpNotFound());
            }
            try
            {
                factura.Estado_Id       = estadoId;
                db.Entry(factura).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch (Exception)
            {
            }
            CargarListados(factura.Estado_Id.ToString(), factura.Municipio_Id.ToString(), factura.Mes.ToString());
            return(View(factura));

            #region
            //    try
            //    {
            //        if (factura == null) return HttpNotFound();

            //        if (ModelState.IsValid)
            //        {
            //            // Validar si se seleccionó al menos un pago
            //            string[] idsPagosContrato = form.GetValues("idPagoContrato");
            //            if (idsPagosContrato == null)
            //                throw new Exception("Debe seleccionar al menos un pago del contrato " + factura.Contrato.NumeroContrato);

            //            // Validar si la factura tiene pagos asociados
            //            List<PagoContrato> pagosContrato = db.PagoContrato.Where(p => p.Contrato_Id == factura.Contrato_Id && p.Factura_Id == null).ToList();
            //            if (pagosContrato == null || pagosContrato.Count == 0)
            //                throw new Exception("El contrato " + factura.Contrato.NumeroContrato + " no tiene pagos asociados.");

            //            // Se filtra el arreglo de pagos para las coincidencias con los pagos seleccionados
            //            pagosContrato = pagosContrato.Where(p => idsPagosContrato.Contains(p.PagosContrato_Id.ToString())).ToList();

            //            // Validación adicional de seguridad
            //            if (pagosContrato == null || pagosContrato.Count == 0)
            //                throw new Exception("Los pagos seleccionados no coinciden con los pagos del contrato " + factura.Contrato.NumeroContrato + ".");

            //            double totalHonorariosAux = Convert.ToDouble(factura.TotalHonorariosAux.Replace(",", "").Replace(".", ","));
            //            factura.TotalHonorarios = totalHonorariosAux;

            //            double valorBaseAux = Convert.ToDouble(factura.ValorBaseAux.Replace(",", "").Replace(".", ","));
            //            factura.ValorBase = valorBaseAux;

            //            double valorIvaAux = Convert.ToDouble(factura.ValorIvaAux.Replace(",", "").Replace(".", ","));
            //            factura.ValorIva = valorIvaAux;

            //            if (!string.IsNullOrEmpty(factura.ValorCanceladoAux))
            //            {
            //                double valorCanceladoAux = Convert.ToDouble(factura.ValorCanceladoAux.Replace(",", "").Replace(".00", ""));
            //                factura.ValorCancelado = valorCanceladoAux;
            //            }
            //            else
            //                factura.ValorCancelado = 0;

            //            // Se asocian los nuevos pagos a la factura
            //            factura.PagoContrato = new List<PagoContrato>();
            //            factura.PagoContrato.AddRange(pagosContrato);

            //        db.Entry(factura).State = EntityState.Modified;

            //        exito = (db.SaveChanges() > 0);
            //    }
            //        else
            //    {
            //        CargarListados(factura.Estado_Id.ToString(), factura.Municipio_Id.ToString(), factura.Mes.ToString());
            //        ViewBag.MensajeError = "No fue posible actualizar la factura";
            //    }
            //}
            //    catch (Exception e)
            //    {
            //        CargarListados(form["Estado_Id"], form["Municipio_Id"], form["Mes"]);
            //        ViewBag.MensajeError = "Ha ocurrido un error al actualizar la factura: " + e.Message;
            //        //TempData["Contrato"] = factura.Contrato.NumeroContrato;
            //        //TempData["idContrato"] = factura.Contrato_Id;
            //    }

            //    if (exito)
            //        return RedirectToAction("Index");
            //    else
            //        return View(factura);
            #endregion
        }
        private ActionResult GuardarContrato(Contratos contratos, FormCollection form, bool esModificado, String[] PersonaNotificar_Id)
        {
            bool   exito   = false;
            string mensaje = string.Empty;

            try
            {
                if (contratos == null)
                {
                    return(HttpNotFound());
                }

                if (!AutorizacionContrato(contratos.Contrato_Id, true))
                {
                    return(RedirectToAction("AccessDenied", "Account"));
                }

                //if (ModelState.IsValid)
                //{
                double valorContratoAux = Convert.ToDouble(contratos.ValorContratoAux.Replace(",", "").Replace(".00", ""));
                contratos.ValorContrato = valorContratoAux;

                double valorAdministrarAux = Convert.ToDouble(contratos.ValorAdministrarAux.Replace(",", "").Replace(".00", ""));
                contratos.ValorAdministrar = valorAdministrarAux;

                if (!string.IsNullOrEmpty(contratos.HonorariosAux))
                {
                    double honorariosAux = Convert.ToDouble(contratos.HonorariosAux.Replace(",", "").Replace(".00", ""));
                    contratos.Honorarios = honorariosAux;
                }

                if (!string.IsNullOrEmpty(contratos.ValorPolizaAux))
                {
                    double valorPolizaAux = Convert.ToDouble(contratos.ValorPolizaAux.Replace(",", "").Replace(".00", ""));
                    contratos.ValorPoliza = valorPolizaAux;
                }

                if (!string.IsNullOrEmpty(contratos.ValorCdpAux))
                {
                    double valorCdpAux = Convert.ToDouble(contratos.ValorCdpAux.Replace(",", "").Replace(".00", ""));
                    contratos.ValorCDP = valorCdpAux;
                }

                if (!string.IsNullOrEmpty(contratos.ValorCrpAux))
                {
                    double valorCrpAux = Convert.ToDouble(contratos.ValorCrpAux.Replace(",", "").Replace(".00", ""));
                    contratos.ValorCRP = valorCrpAux;
                }

                if (esModificado)
                {
                    db.Entry(contratos).State = EntityState.Modified;
                }
                else
                {
                    db.Contratos.Add(contratos);
                    db.SaveChanges();
                }

                int id = contratos.Contrato_Id;

                if (!string.IsNullOrEmpty(contratos.Observaciones))
                {
                    //Almaceno la observacion en la tabla historiaobservaciones
                    HistoriaObservaciones historiaObs = new HistoriaObservaciones
                    {
                        Observaciones = contratos.Observaciones,
                        Fecha         = DateTime.Now,
                        ContratoId    = id,
                    };
                    db.HistoriaObservaciones.Add(historiaObs);
                }

                //Almaceno las personas a notificar
                if (PersonaNotificar_Id != null)
                {
                    foreach (var item in PersonaNotificar_Id)
                    {
                        Notificaciones notificacion = new Notificaciones()
                        {
                            ContractId = id,
                            PersonId   = Convert.ToInt32(item)
                        };
                        db.Notificaciones.Add(notificacion);
                    }
                }

                // Revisión de pagos - No aplican para los contratos que sean CIAD
                //Se desactiva el condicional para que guarde los pagos al contrato asi no sean interadministrativos
                //int idTipoContratoCIAD = (new ContratosHelper()).ObtenerIdCIAD();
                //if (contratos.TipoContrato_Id != idTipoContratoCIAD)
                //{
                List <PagoContrato> pagosActuales    = null;
                List <int>          pagosModificados = new List <int>();
                if (esModificado)
                {
                    pagosActuales = db.PagoContrato.Where(p => p.Contrato_Id == id).ToList <PagoContrato>();
                }

                string strNumeroPagos = form["numeroPagos"];

                if (!string.IsNullOrEmpty(strNumeroPagos))
                {
                    int numeroPagos = int.Parse(strNumeroPagos);
                    for (int i = 0; i < numeroPagos; i++)
                    {
                        string idPagoAux = form["idPago_" + i];

                        double valorPagoAux = Convert.ToDouble(form["valorPago_" + i].Replace(",", "").Replace(".00", ""));

                        PagoContrato pago = null;
                        if (esModificado && !string.IsNullOrEmpty(idPagoAux))
                        {
                            int idPago = int.Parse(idPagoAux);
                            pagosModificados.Add(idPago);
                            pago                 = pagosActuales.Where(p => p.PagosContrato_Id == idPago).FirstOrDefault <PagoContrato>();
                            pago.Valor           = valorPagoAux;
                            pago.Fecha           = DateTime.Parse(form["fechaPago_" + i]);
                            pago.Notas           = !string.IsNullOrEmpty(form["notasPago_" + i]) ? form["notasPago_" + i] : string.Empty;
                            db.Entry(pago).State = EntityState.Modified;
                        }
                        else
                        {
                            pago = new PagoContrato
                            {
                                Contrato_Id = id,
                                Valor       = valorPagoAux,
                                Fecha       = DateTime.Parse(form["fechaPago_" + i]),
                                Notas       = !string.IsNullOrEmpty(form["notasPago_" + i]) ? form["notasPago_" + i] : string.Empty
                            };
                            db.PagoContrato.Add(pago);
                        }
                    }
                }
                else
                {
                    mensaje = "No se agregaron pagos al contrato. Por favor verifique.";
                }

                //if (pagosActuales != null && pagosActuales.Count > 0 && pagosModificados != null && pagosModificados.Count > 0)
                //{
                //    List<PagoContrato> pagosContrato = new List<PagoContrato>();
                //    foreach (var pago in pagosActuales)
                //    {
                //        if (!pagosModificados.Contains(pago.PagosContrato_Id))
                //            db.Entry(pago).State = EntityState.Deleted;
                //        else
                //            pagosContrato.Add(pago);
                //    }

                //    contratos.PagoContrato = pagosContrato;

                //}
                //}

                // Solamente se deben guardar los cambios cuando NADA falle
                exito = (db.SaveChanges() > 0);
                //}
                //else
                //{
                //    mensaje = "No fue posible " + (ViewBag.IsEdit ? "actualizar" : "crear") + " el contrato";
                //}
            }
            catch (Exception e)
            {
                mensaje = "Ha ocurrido un error al " + (ViewBag.IsEdit ? "actualizar" : "crear") + " el contrato: " + e.Message;
            }

            if (exito)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.Persona_Id                  = new SelectList(db.Personas.Where(x => x.TipoPersona_Id == 3), "Persona_Id", "NombreCompleto", contratos.Persona_Id);
                ViewBag.PersonaAbogado_Id           = new SelectList(db.Personas.Where(x => x.TipoPersona_Id == 1), "Persona_Id", "NombreCompleto", contratos.PersonaAbogado_Id);
                ViewBag.PersonaSuperviosr_Id        = new SelectList(db.Personas.Where(x => x.TipoPersona_Id == 2), "Persona_Id", "NombreCompleto", contratos.PersonaSuperviosr_Id);
                ViewBag.PersonaSupervisorTecnico_Id = new SelectList(db.Personas.Where(x => x.TipoPersona_Id == 4), "Persona_Id", "NombreCompleto", contratos.PersonaSupervisorTecnico_Id);
                ViewBag.TipoEstadoContrato_Id       = new SelectList(db.TiposEstadoContrato, "TiposEstadoContrato_Id", "Descripcion", contratos.TipoEstadoContrato_Id);
                ViewBag.ContratoMarco_Id            = new SelectList(db.Contratos.Where(c => c.ContratoMarco_Id == null), "Contrato_Id", "NumeroContrato", contratos.ContratoMarco_Id);
                ViewBag.TipoContrato_Id_Aux         = new SelectList(db.TiposContratos, "TipoContrato_Id", "Descripcion", contratos.TipoContrato_Id);
                ViewBag.FormaPagoId                 = new SelectList(db.FormaPagoes, "Id", "Descripcion");
                ViewBag.PersonaNotificar_Id         = new SelectList(db.Personas, "Persona_Id", "NombreCompleto");

                ViewBag.MensajeError = mensaje;

                return(View(contratos));
            }
        }
        private ActionResult GuardarUsuario(Usuarios usuarios, FormCollection form, bool esModificado)
        {
            bool   exito   = false;
            string mensaje = string.Empty;

            try
            {
                if (usuarios == null)
                {
                    return(HttpNotFound());
                }

                string email = string.Empty;
                try
                {
                    email = db.Usuarios.Where(x => x.CorreoElectronico == usuarios.CorreoElectronico).FirstOrDefault().CorreoElectronico;
                }
                catch (Exception)
                {
                }

                if (!string.IsNullOrEmpty(email))
                {
                    List <Contratos> contratos = db.Contratos.OrderByDescending(c => c.NumeroContrato).ToList();
                    ViewBag.Contratos    = contratos;
                    ViewBag.MensajeError = "El correo electrónico ya se encuentra en uso.";
                    return(View(usuarios));
                }

                UserManager um = new UserManager();

                if (!string.IsNullOrEmpty(usuarios.PasswordAux))
                {
                    usuarios.Password = um.Base64Encode(usuarios.PasswordAux);
                }
                else
                if (!esModificado)
                {
                    usuarios.Password = um.Base64Encode(usuarios.Password);
                }

                usuarios.RolId = usuarios.RolId;

                if (ModelState.IsValid)
                {
                    // Lógica para recuperar valores de contratos
                    string esSuperUsuario    = form["esSuperUsuario"];
                    string tipoPermiso       = form["tipoPermiso"];
                    bool   todosLosContratos = usuarios.TodosLosContratos;

                    if (string.IsNullOrEmpty(esSuperUsuario))
                    {
                        usuarios.IdRoles = rolUsuarioNormal;

                        if (tipoPermiso != null && tipoPermiso == "W")
                        {
                            usuarios.TipoPermisos = "W"; // Escritura
                        }
                        else
                        {
                            usuarios.TipoPermisos = "R"; // Lectura
                        }
                        if (!todosLosContratos)
                        {
                            string[] idContratos = form.GetValues("contratos");
                            if (idContratos != null && idContratos.Length > 0)
                            {
                                usuarios.IdContratos = string.Join(",", idContratos);
                            }
                            else
                            {
                                mensaje = "Debe elegir al menos un contrato sobre el cual el usuario debe tener permisos.";
                            }
                        }
                    }
                    else
                    {
                        if (esSuperUsuario == "0")
                        {
                            usuarios.IdRoles = rolSuperUsuario;
                        }
                    }

                    if (string.IsNullOrEmpty(mensaje))
                    {
                        if (esModificado)
                        {
                            db.Entry(usuarios).State = EntityState.Modified;
                        }
                        else
                        {
                            db.Usuarios.Add(usuarios);
                        }

                        // Solamente se deben guardar los cambios cuando NADA falle
                        exito = (db.SaveChanges() > 0);
                    }
                }
                else
                {
                    var    errors  = ModelState.Values.SelectMany(v => v.Errors);
                    string errores = string.Empty;
                    foreach (var error in errors)
                    {
                        errores += error.ErrorMessage + "<br />";
                    }
                    mensaje = "No fue posible " + (ViewBag.IsEdit ? "actualizar" : "crear") + " el usuario: " + errores;
                }
            }
            catch (Exception e)
            {
                mensaje = "Ha ocurrido un error al " + (ViewBag.IsEdit ? "actualizar" : "crear") + " el usuario: " + e.Message;
            }

            if (exito)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                List <Contratos> contratos = db.Contratos.OrderByDescending(c => c.NumeroContrato).ToList();
                ViewBag.Contratos    = contratos;
                ViewBag.MensajeError = mensaje;
                return(View(usuarios));
            }
        }