示例#1
0
        public async Task <JsonResult> GuardarDatoOperacion(TabuladorViewModel modelo,
                                                            List <ExTabuladorProcedimientoOperacion> _ExTabuladorProcedimientoOperacion)
        {
            try
            {
                return(await Task.Run(() =>
                {
                    modelo.Ciudad = new Core.CatalogoViewModel {
                        id = modelo.IdCiudad
                    };
                    modelo.Estado = new Core.CatalogoViewModel {
                        id = modelo.IdEstado
                    };

                    var resultado = actualizarCteBussiness.GuardarDatoOperacion(modelo);

                    if (_ExTabuladorProcedimientoOperacion == null)
                    {
                        goto NoTabs;
                    }

                    foreach (var itemTab in _ExTabuladorProcedimientoOperacion)
                    {
                        resultado = new TabuladorProcedimientoOperacionBussines().GuardaTabuladorProcedimientoOperacionBussines_TMP(itemTab);
                        if (!resultado)
                        {
                            break;
                        }
                    }

                    //etiqueta para no guardar los "N" procedimientos de operacion
NoTabs:

                    if (resultado)
                    {
                        clienteBusiness.ActualizarEstatus(modelo.IdUsuario, (int)EstatusCliente.ParaAprobarActualización);
                        return Json(new { resultado }, JsonRequestBehavior.AllowGet);
                    }

                    else
                    {
                        return Json(new { resultado = false, mensaje = "Ocurrió un error al guardar los datos." }, JsonRequestBehavior.AllowGet);
                    }
                }));
            }
            catch (System.Exception ex)
            {
                return(await Task.Run(() =>
                {
                    return Json(new
                    {
                        resultado = false,
                        mensaje = "Ocurrió un error al guardar los datos.",
                        ErroTecnico = ex.Message
                    }, JsonRequestBehavior.AllowGet);
                }));
            }
        }
        public async Task <JsonResult> TerminarProcedimientoOperacion(string id_precliente, string id_usuario)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    return(await Task.Run(() =>
                    {
                        if (string.IsNullOrEmpty(id_precliente) || string.IsNullOrEmpty(id_usuario))
                        {
                            throw new Exception("El parametro id_precliente o id_usuario no pueden ser nulos o vacíos.");
                        }

                        DataTable datosUsr = datosUsuario.ObtenerDatosUsuario(id_usuario.ToString());
                        int previoEstatus = Convert.ToInt16(datosUsr.Rows[0]["estatus"]);
                        int nuevoEstatus = 0;

                        if (previoEstatus == 5) //estatus aprobado sin procedimiento pre alta
                        {
                            nuevoEstatus = 10;
                        }
                        else if (previoEstatus == 8 &&
                                 Convert.ToBoolean(datosUsr.Rows[0]["banderilla"])) //estatus cliente sin procedimiento
                        {
                            nuevoEstatus = 11;
                        }
                        else
                        {
                            throw new Exception("El cliente debe estar en estatus " +
                                                "'Aprobado sin procedimiento Pre-Alta'" +
                                                " o " +
                                                "'Para aprobación Procedimiento Cliente' con banderilla activo.");
                        }

                        var actualizarEstatus = clienteBusiness.ActualizarEstatus(int.Parse(id_usuario), nuevoEstatus);

                        var envioCorreo = notificacionBusiness.EnvioCorreoNotificacion(int.Parse(id_precliente));

                        if (actualizarEstatus != null && envioCorreo != null)
                        {
                            return Json(new { resultado = true, mensaje = "", data = "" }, JsonRequestBehavior.AllowGet);
                        }
                        else
                        {
                            return Json(new { resultado = false, mensaje = "Error al Terminar Procesos de Operación", data = "" }, JsonRequestBehavior.AllowGet);
                        }
                    }));
                }
                else
                {
                    return(Json(new { resultado = false, mensaje = "Ocurrió un error al obtener los datos." }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (System.Exception ex)
            {
                return(await Task.Run(() =>
                {
                    return Json(new
                    {
                        resultado = false,
                        mensaje = "Ocurrió un error al obtener los datos.",
                        ErroTecnico = ex.Message
                    }, JsonRequestBehavior.AllowGet);
                }));
            }
        }