//public IHttpActionResult Postbt_solicitudes(Models.solicitudesModel solicitud) public IHttpActionResult Postbt_solicitudes(Models.solicitudesModel solicitud) { bt_solicitudes bt_solicitudes = Models.solicitudesModel.ConvertToBD(solicitud); if (bt_solicitudes.os_id == 0) { db.bt_solicitudes.Add(bt_solicitudes); db.SaveChanges(); solicitud.fh_cierre = ((DateTime)(bt_solicitudes.fh_cierre)).ToString("yyyy-MM-dd");; solicitud.fh_creacion = ((DateTime)(bt_solicitudes.fh_creacion)).ToString("yyyy-MM-dd");; solicitud.os_id = bt_solicitudes.os_id; solicitud.estado_id = 1; solicitud.estado_desc = _osService.buscarEstado(1).estado_desc; // Creo la el estado 1 para la orden Models.os_statusModel st = new Models.os_statusModel(); st.estado_sk = 1; st.os_id = bt_solicitudes.os_id; st.comentarios = "Nueva Orden"; bt_os_status bt_os_status = Models.os_statusModel.ConvertToBD(st); db.bt_os_status.Add(bt_os_status); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = bt_solicitudes.os_id }, solicitud)); } else { bt_solicitudes solpe = db.bt_solicitudes.Where(x => x.os_id == bt_solicitudes.os_id).FirstOrDefault(); solpe.fh_creacion = bt_solicitudes.fh_creacion; solpe.fh_cierre = bt_solicitudes.fh_cierre; solpe.tipo = bt_solicitudes.tipo; solpe.descripcion = bt_solicitudes.descripcion; db.SaveChanges(); solicitud.fh_creacion = ((DateTime)(solpe.fh_creacion)).ToString("yyyy-MM-dd");; solicitud.fh_cierre = ((DateTime)(solpe.fh_cierre)).ToString("yyyy-MM-dd"); solicitud.estado_id = _osService.buscarUltEstado(solicitud.os_id).estado_sk; solicitud.estado_desc = _osService.buscarEstado(solicitud.estado_id).estado_desc; return(CreatedAtRoute("DefaultApi", new { id = solpe.os_id }, solicitud)); } }
public IHttpActionResult Getbt_os_status(int os_id) { //List<bt_os_status> estados = db.bt_os_status.Where(x => x.os_id == os_id).ToList(); //if (estados == null) //{ // return NotFound(); //} //List<Models.os_statusModel> modelEstados = Models.os_statusModel.ListConvertTo(estados); //Models.os_statusModel ult_estado = modelEstados.OrderByDescending(x => x.timestamp).FirstOrDefault(); //return Ok(ult_estado); Data.bt_os_status ult_estado = _osService.buscarUltEstado(os_id); Models.os_statusModel modelEstado = Models.os_statusModel.ConvertTo(ult_estado); return(Ok(modelEstado)); }
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)); }