public bool solicitudGuardar([FromBody] TblSolicitudesTO objSolicitud, string diaCita, string mesCita, string anoCita, string horaCita, string minCita, string horaRecoger, string minRecoger) { objSolicitud.Solicitud.FechaCita = new DateTime(int.Parse(anoCita), int.Parse(mesCita) + 1, int.Parse(diaCita), int.Parse(horaCita), int.Parse(minCita), 0); //DateTime utcTime = DateTime.UtcNow.; //TimeZoneInfo serverZone = TimeZoneInfo.FindSystemTimeZoneById(); //DateTime currentDateTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, serverZone); DateTime fechaYa = DateTime.UtcNow.AddHours(-5); objSolicitud.Solicitud.FechaRecoger = new DateTime(fechaYa.Year, fechaYa.Month, fechaYa.Day, int.Parse(horaRecoger), int.Parse(minRecoger), 0); _prontoService.SetSolicitudes(objSolicitud); return(true); }
public void SetSolicitudes(TblSolicitudesTO objSolicitudExterna) { /*AUTORIZA*/ if (objSolicitudExterna.DescripcionAutoriza != null) { int codigo_autoriza = _prontoSerContext.SetCaracteristica(objSolicitudExterna.DescripcionAutoriza, (int)TipoCaracteristicaSolicitud.Autoriza, objSolicitudExterna.Id_Company); objSolicitudExterna.Solicitud.Id_Carac_Autoriza = int.Parse(codigo_autoriza.ToString()); } /*AUTORIZA REMISION*/ if (objSolicitudExterna.DescripcionAutorizaRemision != null) { int codigo_autoriza = _prontoSerContext.SetCaracteristica(objSolicitudExterna.DescripcionAutorizaRemision, (int)TipoCaracteristicaSolicitud.AutorizaRemision, objSolicitudExterna.Id_Company); objSolicitudExterna.Solicitud.Id_Carac_Remision = int.Parse(codigo_autoriza.ToString()); } /*PROCEDENCIA*/ if (objSolicitudExterna.DescripcionProcedencia != null) { int codigo_autoriza = _prontoSerContext.SetCaracteristica(objSolicitudExterna.DescripcionProcedencia, (int)TipoCaracteristicaSolicitud.Lugares, objSolicitudExterna.Id_Company); objSolicitudExterna.Solicitud.Id_Carac_Procedencia = int.Parse(codigo_autoriza.ToString()); } /*DESTINO*/ if (objSolicitudExterna.DescripcionDestino != null) { int codigo_autoriza = _prontoSerContext.SetCaracteristica(objSolicitudExterna.DescripcionDestino, (int)TipoCaracteristicaSolicitud.Lugares, objSolicitudExterna.Id_Company); objSolicitudExterna.Solicitud.Id_Carac_Destino = int.Parse(codigo_autoriza.ToString()); } /*CONDUCTOR*/ if (objSolicitudExterna.DescripcionConductor != null) { int codigo_autoriza = _prontoSerContext.SetCaracteristica(objSolicitudExterna.DescripcionConductor, (int)TipoCaracteristicaSolicitud.Conductor, objSolicitudExterna.Id_Company); objSolicitudExterna.Solicitud.Id_Carac_Conductor = int.Parse(codigo_autoriza.ToString()); } /*PACIENTE*/ if (objSolicitudExterna.Paciente.Id_Tercero != null) { _prontoSerContext.SetTercero(objSolicitudExterna.Paciente.Id_Tercero, objSolicitudExterna.Paciente.Descripcion, objSolicitudExterna.Paciente.Apellidos, (int)TipoTercero.Paciente, objSolicitudExterna.Paciente.Edad, objSolicitudExterna.Paciente.EPS, objSolicitudExterna.Id_Company); } objSolicitudExterna.Solicitud.Id_Tercero = objSolicitudExterna.Paciente.Id_Tercero; //_prontoContext.SaveChanges(); TblSolicitudes objDel = _prontoContext.TblSolicitudes.Find(objSolicitudExterna.Solicitud.Id_Solicitud); if (objSolicitudExterna.Solicitud.Id_Solicitud > 0) { //if (p.DescripcionReferencia.Substring(p.DescripcionReferencia.Length - 1, 1) == "*") // context.TblDetalleInternos.Remove(objDel); //else //CONSERVAR LAS FECHAS QUE NO SE PUEDEN MODIFICAR DateTime fechaRegistroGuardar = objDel.FechaRegistro; DateTime fechaCitaGuardar = objDel.FechaCita; DateTime fechaRecogerGuardar = objDel.FechaRecoger; if (objDel.FechaDespacho == null && objSolicitudExterna.Solicitud.Id_Movil_Recoge != null)//ASIGNAR MOVIL A SOLICITUD { objSolicitudExterna.Solicitud.Estado = (int)EstadoSolicitud.Aporobado; objSolicitudExterna.Solicitud.FechaDespacho = DateTime.UtcNow.AddHours(-5); } if (objDel.FechaLlego == null && objSolicitudExterna.Solicitud.Estado == (int)EstadoSolicitud.Finalizado) { if (objSolicitudExterna.Solicitud.TipoServicio == 1)//SI ES SIMPLE LA MOVIL QUE ENTREGA ES LA MISMA QUE RECOGE { objSolicitudExterna.Solicitud.Id_Movil_Entrega = objSolicitudExterna.Solicitud.Id_Movil_Recoge; } objSolicitudExterna.Solicitud.Estado = (int)EstadoSolicitud.Finalizado; objSolicitudExterna.Solicitud.HoraEfectiva = objDel.HoraEfectiva;//ALGUN DIA ARREGLAR ESTA VAIA objSolicitudExterna.Solicitud.FechaLlego = DateTime.UtcNow.AddHours(-5); } if (objSolicitudExterna.Solicitud.Id_Movil_Recoge == 555)//PARA REVERTIR CAMBIOS EN LAS FECHAS { objSolicitudExterna.Solicitud.FechaDespacho = null; objSolicitudExterna.Solicitud.Id_Movil_Recoge = null; objSolicitudExterna.Solicitud.Estado = 1; } if (objDel.Estado == (int)EstadoSolicitud.Pendiente && objSolicitudExterna.Solicitud.Estado == (int)EstadoSolicitud.Rechazado) { objSolicitudExterna.Solicitud.Editando = 0; } if (objDel.HoraEfectiva == null && objSolicitudExterna.Solicitud.Estado == (int)EstadoSolicitud.Contacto) { objSolicitudExterna.Solicitud.HoraEfectiva = DateTime.UtcNow.AddHours(-5).TimeOfDay; } else { objSolicitudExterna.Solicitud.HoraEfectiva = objDel.HoraEfectiva; } if (objDel.HoraSalida == null && objSolicitudExterna.Solicitud.Estado == (int)EstadoSolicitud.Salio) { objSolicitudExterna.Solicitud.HoraSalida = DateTime.UtcNow.AddHours(-5).TimeOfDay; } else { objSolicitudExterna.Solicitud.HoraSalida = objDel.HoraSalida;//DE QUE ME TOQUE GUARDAR LAS FECHAS POR SI VIENEN NULL } objDel = EntityTransport <TblSolicitudes> .Copy(objSolicitudExterna.Solicitud, objDel); objDel.Last_Update = DateTime.Now; objDel.FechaRegistro = fechaRegistroGuardar; } else { objSolicitudExterna.Solicitud.FechaRegistro = DateTime.UtcNow.AddHours(-5); objSolicitudExterna.Solicitud.FechaRecoger = objSolicitudExterna.Solicitud.FechaCita.AddHours(-1); objSolicitudExterna.Solicitud.Last_Update = DateTime.Now; objSolicitudExterna.Solicitud.Estado = 1; _prontoContext.TblSolicitudes.Add(objSolicitudExterna.Solicitud); } _prontoContext.SaveChanges(); }