// GET: TechosDeducciones/Edit/5
        public JsonResult Edit(int?id)
        {
            db.Configuration.ProxyCreationEnabled = false;
            tbTechosDeducciones tbTechosDeduccionesJSON = db.tbTechosDeducciones.Find(id);

            return(Json(tbTechosDeduccionesJSON, JsonRequestBehavior.AllowGet));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            tbTechosDeducciones tbTechosDeducciones = db.tbTechosDeducciones.Find(id);

            db.tbTechosDeducciones.Remove(tbTechosDeducciones);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(tbTechosDeducciones tbTechosDeducciones)
        {
            // data de auditoria
            tbTechosDeducciones.tddu_UsuarioModifica = 1;
            tbTechosDeducciones.tddu_FechaModifica   = DateTime.Now;

            // variables de resultados
            IEnumerable <object> listTechosDeducciones = null;
            string MensajeError = "";
            string response     = String.Empty;

            // validar si el modelo es válido
            if (ModelState.IsValid)
            {
                try
                {
                    // ejecutar PA
                    listTechosDeducciones = db.UDP_Plani_tbTechosDeducciones_Update(tbTechosDeducciones.tddu_IdTechosDeducciones,
                                                                                    tbTechosDeducciones.tddu_PorcentajeColaboradores,
                                                                                    tbTechosDeducciones.tddu_PorcentajeEmpresa,
                                                                                    tbTechosDeducciones.tddu_Techo,
                                                                                    tbTechosDeducciones.cde_IdDeducciones,  //ID del porcentaje de deducción
                                                                                    1,
                                                                                    DateTime.Now);

                    // obtener resultado del PA
                    foreach (UDP_Plani_tbTechosDeducciones_Update_Result Resultado in listTechosDeducciones.ToList())
                    {
                        MensajeError = Resultado.MensajeError;
                    }

                    if (MensajeError.StartsWith("-1"))
                    {
                        // el PA falló
                        ModelState.AddModelError("", "No se pudo actualizar el registro. Contacte al administrador.");
                        response = "error";
                    }
                }
                catch (Exception Ex)
                {
                    // se generó una excepción
                    response = "error";
                }

                // el proceso fue exitoso
                response = "bien";
            }
            else
            {
                // el modelo no es válido
                response = "error";
            }

            // retornar resultado del proceso
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Create(tbTechosDeducciones tbTechosDeducciones)
        {
            // data de auditoria
            tbTechosDeducciones.tddu_UsuarioCrea = Function.GetUser();
            tbTechosDeducciones.tddu_FechaCrea   = Function.DatetimeNow();

            // variables de resultado
            string response = String.Empty;
            IEnumerable <object> listTechosDeducciones = null;
            string MensajeError = "";

            // validar que el modelo sea válido
            if (ModelState.IsValid)
            {
                try
                {
                    // ejecutar PA
                    listTechosDeducciones = db.UDP_Plani_tbTechosDeducciones_Insert(tbTechosDeducciones.tddu_PorcentajeColaboradores,
                                                                                    tbTechosDeducciones.tddu_PorcentajeEmpresa,
                                                                                    tbTechosDeducciones.tddu_Techo,
                                                                                    tbTechosDeducciones.cde_IdDeducciones,
                                                                                    tbTechosDeducciones.tddu_UsuarioCrea,
                                                                                    tbTechosDeducciones.tddu_FechaCrea);

                    // obtener resultado del PA
                    foreach (UDP_Plani_tbTechosDeducciones_Insert_Result Resultado in listTechosDeducciones)
                    {
                        MensajeError = Resultado.MensajeError;
                    }

                    if (MensajeError.StartsWith("-1"))
                    {
                        // el PA falló
                        ModelState.AddModelError("", "No se pudo ingresar el registro. Contacte al administrador.");
                        response = "error";
                    }

                    // el proceso fue exitoso
                    response = "bien";
                }
                catch (Exception Ex)
                {
                    // se generó una excepción
                    response = "bien";
                }
            }
            else
            {
                // el modelo no es válido
                response = "error";
            }

            // retornar resultado del proceso
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Create([Bind(Include = "tede_Id,tede_RangoInicial,tede_RangoFinal,tede_Porcentaje,cde_IdDeducciones,tede_UsuarioCrea,tede_FechaCrea,tede_UsuarioModifica,tede_FechaModifica,tede_Activo")] tbTechosDeducciones tbTechosDeducciones)
        {
            #region declaracion de variables
            //Llenar los datos de auditoría, de no hacerlo el modelo será inválido y entrará directamente al Catch
            tbTechosDeducciones.tddu_UsuarioCrea = 1;
            tbTechosDeducciones.tddu_FechaCrea   = DateTime.Now;
            //Variable para almacenar el resultado del proceso y enviarlo al lado del cliente
            string response = String.Empty;
            IEnumerable <object> listTechosDeducciones = null;
            string MensajeError = "";
            #endregion

            if (ModelState.IsValid)
            {
                //try
                //{
                //    //Ejecutar el procedimiento almacenado
                //    listTechosDeducciones = db.UDP_Plani_tbTechosDeducciones_Insert(tbTechosDeducciones.tede_RangoInicial,
                //                                                                     tbTechosDeducciones.tede_RangoFinal,
                //                                                                     tbTechosDeducciones.tede_Porcentaje,
                //                                                                     tbTechosDeducciones.cde_IdDeducciones,
                //                                                                     tbTechosDeducciones.tede_UsuarioCrea,
                //                                                                     tbTechosDeducciones.tede_FechaCrea);

                //    //RECORRER EL TIPO COMPLEJO DEL PROCEDIMIENTO ALMACENADO PARA EVALUAR EL RESULTADO DEL SP
                //    foreach (UDP_Plani_tbTechosDeducciones_Insert_Result Resultado in listTechosDeducciones)
                //        MensajeError = Resultado.MensajeError;

                //    response = "bien";
                //    if (MensajeError.StartsWith("-1"))
                //    {
                //        //EN CASO DE OCURRIR UN ERROR, IGUALAMOS LA VARIABLE "RESPONSE" A ERROR PARA VALIDARLO EN EL CLIENTE
                //        ModelState.AddModelError("", "No se pudo ingresar el registro. Contacte al administrador.");
                //        response = "error";
                //    }
                //}
                //catch (Exception Ex)
                //{
                //    //EN CASO DE CAER EN EL CATCH, IGUALAMOS LA VARIABLE "RESPONSE" A ERROR PARA VALIDARLO EN EL CLIENTE
                //    response = Ex.Message.ToString();
                //}
            }
            else
            {
                //SI EL MODELO NO ES VÁLIDO, IGUALAMOS LA VARIABLE "RESPONSE" A ERROR PARA VALIDARLO EN EL CLIENTE
                response = "error";
            }
            //RETORNAMOS LA VARIABLE RESPONSE AL CLIENTE PARA EVALUARLA
            ViewBag.tede_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbTechosDeducciones.tddu_UsuarioCrea);
            ViewBag.tede_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbTechosDeducciones.tddu_UsuarioModifica);
            ViewBag.cde_IdDeducciones    = new SelectList(db.tbCatalogoDeDeducciones, "cde_IdDeducciones", "cde_DescripcionDeduccion", tbTechosDeducciones.cde_IdDeducciones);
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
        // GET: TechosDeducciones/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbTechosDeducciones tbTechosDeducciones = db.tbTechosDeducciones.Find(id);

            if (tbTechosDeducciones == null)
            {
                return(HttpNotFound());
            }
            return(View(tbTechosDeducciones));
        }
        public ActionResult Edit([Bind(Include = "tede_Id,tede_RangoInicial,tede_RangoFinal,tede_Porcentaje,cde_IdDeducciones,tede_UsuarioCrea,tede_FechaCrea,tede_UsuarioModifica,tede_FechaModifica,tede_Activo")] tbTechosDeducciones tbTechosDeducciones)
        {
            tbTechosDeducciones.tddu_UsuarioModifica = 1;
            tbTechosDeducciones.tddu_FechaModifica   = DateTime.Now;
            IEnumerable <object> listTechosDeducciones = null;
            string MensajeError = "";
            //VARIABLE DONDE SE ALMACENARA EL RESULTADO DEL PROCESO
            string response = String.Empty;

            //VALIDAR SI EL MODELO ES VÁLIDO
            if (ModelState.IsValid)
            {
                //try
                //{
                //    //Ejecución del procedimiento almacenado
                //    listTechosDeducciones = db.UDP_Plani_tbTechosDeducciones_Update(tbTechosDeducciones.tede_Id,
                //                                                                    tbTechosDeducciones.tede_RangoInicial,
                //                                                                     tbTechosDeducciones.tede_RangoFinal,
                //                                                                     tbTechosDeducciones.tede_Porcentaje,
                //                                                                     tbTechosDeducciones.cde_IdDeducciones, //ID del porcentaje de deducción
                //                                                                     1,
                //                                                                     DateTime.Now);

                //    foreach (UDP_Plani_tbTechosDeducciones_Update_Result Resultado in listTechosDeducciones.ToList())
                //        MensajeError = Resultado.MensajeError;

                //    if (MensajeError.StartsWith("-1"))
                //    {
                //        //EN CASO DE OCURRIR UN ERROR, IGUALAMOS LA VARIABLE "RESPONSE" A ERROR PARA VALIDARLO EN EL CLIENTE
                //        ModelState.AddModelError("", "No se pudo actualizar el registro. Contacte al administrador.");
                //        response = "error";
                //    }
                //}
                //catch (Exception Ex)
                //{
                //    //EN CASO DE OCURRIR UN ERROR, IGUALAMOS LA VARIABLE "RESPONSE" A ERROR PARA VALIDARLO EN EL CLIENTE
                //    response = Ex.Message.ToString();
                //}
                response = "bien";
            }
            else
            {
                //Se devuelve un mensaje de error en caso de que el modelo no sea válido
                response = "error";
            }
            ViewBag.tede_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbTechosDeducciones.tddu_UsuarioCrea);
            ViewBag.tede_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbTechosDeducciones.tddu_UsuarioModifica);
            ViewBag.cde_IdDeducciones    = new SelectList(db.tbCatalogoDeDeducciones, "cde_IdDeducciones", "cde_DescripcionDeduccion", tbTechosDeducciones.cde_IdDeducciones);
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
        public JsonResult Edit(int?id)
        {
            // validar que se recibió el id
            if (id == null)
            {
                return(Json("Error", JsonRequestBehavior.AllowGet));
            }
            // evitar referencias circulares
            db.Configuration.ProxyCreationEnabled = false;

            // obtener registro
            tbTechosDeducciones tbTechosDeduccionesJSON = db.tbTechosDeducciones.Find(id);

            // retornar objeto
            return(Json(tbTechosDeduccionesJSON, JsonRequestBehavior.AllowGet));
        }