Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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();
        }