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