예제 #1
0
        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;
            }
        }
예제 #2
0
        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;
            }
        }