Example #1
0
        public static solicitudesModel ConvertTo(Data.bt_solicitudes solicitudes, Data.lk_tipo_os[] tipos)
        {
            solicitudesModel solpe = new solicitudesModel();

            DateTime fh_cierre_d;

            if (solicitudes.fh_cierre != null)
            {
                fh_cierre_d = (DateTime)solicitudes.fh_cierre;
            }
            else
            {
                fh_cierre_d = DateTime.MaxValue;
            }

            solpe.os_id       = solicitudes.os_id;
            solpe.cliente_sk  = solicitudes.cliente_sk;
            solpe.fh_creacion = solicitudes.fh_creacion.ToString("dd-MM-yyyy");
            solpe.fh_cierre   = fh_cierre_d.ToString("dd-MM-yyyy");
            solpe.descripcion = solicitudes.descripcion;
            solpe.tipo_id     = solicitudes.tipo;
            solpe.tipo        = tipos[solicitudes.tipo - 1].tipo_os_desc;

            return(solpe);
        }
Example #2
0
        public static Data.bt_solicitudes ConvertToBD(solicitudesModel solicitudes)
        {
            Data.bt_solicitudes solpe = new Data.bt_solicitudes();

            solpe.os_id       = solicitudes.os_id;
            solpe.cliente_sk  = solicitudes.cliente_sk;
            solpe.descripcion = solicitudes.descripcion;
            solpe.tipo        = solicitudes.tipo_id;

            if (solicitudes.fh_creacion != null)
            {
                solpe.fh_creacion = DateTime.ParseExact(solicitudes.fh_creacion, "dd-MM-yyyy", null);
            }
            else
            {
                solpe.fh_creacion = DateTime.Today;
            }


            if (solicitudes.fh_cierre != null)
            {
                solpe.fh_cierre = DateTime.ParseExact(solicitudes.fh_cierre, "dd-MM-yyyy", null);
            }
            else
            {
                solpe.fh_cierre = DateTime.ParseExact("31-12-2999", "dd-MM-yyyy", null);
            };


            return(solpe);
        }
Example #3
0
        public IHttpActionResult Postbt_os_status(Models.os_statusModel estado)
        {
            string       notificacion_desc, notificacion_texto;
            bt_os_status bt_os_status = Models.os_statusModel.ConvertToBD(estado);

            db.bt_os_status.Add(bt_os_status);
            db.SaveChanges();

            estado.tiempo_sk = bt_os_status.tiempo_sk.ToString("yyyy-MM-dd");
            estado.hh_mm_ss  = bt_os_status.hh_mm_ss;
            estado.timestamp = string.Concat(bt_os_status.tiempo_sk.ToString("yyyy-MM-dd"), " ", bt_os_status.hh_mm_ss);

            // Agrego notificacion en caso de que la orden se cierre
            if (estado.estado_sk == 3 || estado.estado_sk == 2)
            {
                // actualizo el estado de cierre de la OT
                Data.bt_solicitudes os = db.bt_solicitudes.Where(x => x.os_id == estado.os_id).FirstOrDefault();

                if (estado.estado_sk == 3)
                {
                    os.fh_cierre = DateTime.Today;
                    db.SaveChanges();

                    notificacion_desc  = string.Concat("Solicitud ", estado.os_id.ToString(), " finalizada");
                    notificacion_texto = string.Concat("La solicitud ", estado.os_id.ToString(), " ha sido resuelta, ante cualquier consulta no dude en informarnos");
                }
                else
                {
                    // EN CURSO

                    notificacion_desc  = string.Concat("Solicitud ", estado.os_id.ToString(), " en curso");
                    notificacion_texto = "";// string.Concat("El reclamo ", estado.ot_id.ToString(), " esta en curso");
                }


                // Doy de alta la notificacion en la LK
                Data.lk_notificacion noti = new Data.lk_notificacion();
                noti.notificacion_desc  = notificacion_desc;
                noti.notificacion_texto = notificacion_texto;
                noti.notificacion_tipo  = "OT y OS";
                db.lk_notificacion.Add(noti);
                db.SaveChanges();

                // Busco los usuarios del cliente de la OT
                List <usuario> usuarios = _clienteService.findUsersByClient(os.cliente_sk);

                // Armo una notificacion por cada Usuario
                foreach (usuario u in usuarios)
                {
                    Data.bt_notificaciones bt_not = new Data.bt_notificaciones();
                    bt_not.usuario_sk      = u.usuario_sk;
                    bt_not.cliente_sk      = u.cliente_sk;
                    bt_not.notificacion_sk = noti.notificacion_sk;
                    bt_not.tiempo_sk       = DateTime.Today;
                    //bt_not.ot_id = estado.os_id;
                    bt_not.ot_id = 0;//PORQUE ES UNA SOLICITUD

                    db.bt_notificaciones.Add(bt_not);
                }
                db.SaveChanges();

                // Mando Notificacion Push
                Service.FirebaseService.notificacion_mensaje m = new Service.FirebaseService.notificacion_mensaje();
                m.cliente_sk = os.cliente_sk;
                m.usuario_sk = 0;
                m.titulo     = noti.notificacion_desc;
                fb.EnviarAFCM(m);
            }


            return(CreatedAtRoute("DefaultApi", new { id = estado.os_id }, estado));
        }