public string SelectReclamoPorID(string stObj) { JObject Jobj; clsReclamo objClsReclamo; try { Jobj = JObject.Parse(stObj); objClsReclamo = new clsReclamo(); return(JsonConvert.SerializeObject(objClsReclamo.SelectReclamoPorID(Convert.ToInt64(Jobj["rec_IDReclamo"])))); } catch (Exception ex) { return(ex.ToString()); } finally { Jobj = null; objClsReclamo = null; } }
public List <EnviarEmail> RegistrarDetalleOrdenServicio([FromBody] List <DetalleOrdServ> lstDetalle) { clsReclamo objClsReclamo; Reclamo objRec; EnviarEmail objEmail; List <EnviarEmail> lstReclamo; Historial objHis; clsHistorial objClsHistorial; PersonalPorOrdenServicio objPerOrd; clsPersonalPorOrdenServicio objClsPerOrd; VerificarReclamoOrden objVerificar; try { lstReclamo = new List <EnviarEmail>(); objClsReclamo = new clsReclamo(); foreach (var itemDetalle in lstDetalle) { // Se valida que el reclamo no posea una orden de servicio objVerificar = objClsReclamo.VerificarReclamoOrden(itemDetalle.ordServ_IDReclamo); if (objVerificar.rec_IDOrdenServicio == null) { // Se actualiza el reclamo asignandole el IDOrdenServicio objRec = objClsReclamo.SelectReclamoPorID(itemDetalle.ordServ_IDReclamo); objRec.rec_IDOrdenServicio = itemDetalle.ordServ_IDOrdenServicio; // Se actualiza el estado del reclamo a "Pendiente" luego de haberse generado la orden de servicio objClsReclamo.ActualizarReclamo(objRec); // Se genera y registra un historial indicando generación de orden de servicio objHis = new Historial(); objHis.his_fechaIngreso = DateTime.Now.ToShortDateString(); objHis.his_horaIngreso = DateTime.Now.ToString("HH:mm"); objHis.his_observaciones = "Generación de Orden de Servicio"; objHis.his_IDReclamo = itemDetalle.ordServ_IDReclamo; objHis.his_IDEstado = 2; objClsHistorial = new clsHistorial(); objClsHistorial.RegistrarHistorial(objHis); /* Se añade el objeto a lstReclamo para después cuando el método devuelve esta lista, se hace el envío de emails correspondientes informando * el cambio de estado del reclamo a estado "Pendiente" */ objEmail = objClsReclamo.SelectDatosEmail(itemDetalle.ordServ_IDReclamo, 2); lstReclamo.Add(objEmail); } // Se registra el personal que va a trabajar sobre la orden de servicio objPerOrd = new PersonalPorOrdenServicio(); objPerOrd.perOrd_numeroOrdenServicio = itemDetalle.ordServ_numero; objPerOrd.perOrd_fechaInicioOrdenServicio = null; objPerOrd.perOrd_fechaFinOrdenServicio = null; objPerOrd.perOrd_IDOrdenServicio = itemDetalle.ordServ_IDOrdenServicio; objPerOrd.perOrd_IDPersonal = itemDetalle.ordServ_IDPersonal; objPerOrd.perOrd_IDUsuario = itemDetalle.ordServ_IDUsuario; objClsPerOrd = new clsPersonalPorOrdenServicio(); objClsPerOrd.RegistrarPersonalOrdenServicio(objPerOrd); } return(lstReclamo); } catch (Exception) { throw; } finally { objClsReclamo = null; objRec = null; lstReclamo = null; objHis = null; objClsHistorial = null; objPerOrd = null; objClsPerOrd = null; } }