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); })); } }