private void btnReportePDF_Click(object sender, EventArgs e) { TicketList ticket; hospitalizacionserviceDto hospser = new hospitalizacionserviceDto(); List <TicketDetalleList> ListaDetalleList = new List <TicketDetalleList>(); List <TicketList> Tickett = new List <TicketList>(); DialogResult Result = MessageBox.Show("Generado Para: ", "ADVERTENCIA!", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (Result == System.Windows.Forms.DialogResult.Yes) { saveFileDialog1.FileName = "Liquidacion"; saveFileDialog1.Filter = "Files (*.pdf;)|*.pdf;"; var hospitId = grdData.Selected.Rows[0].Cells["v_HopitalizacionId"].Value.ToString(); using (new LoadingClass.PleaseWait(this.Location, "Generando...")) { this.Enabled = false; var MedicalCenter = _serviceBL.GetInfoMedicalCenter(); var lista = _hospitBL.GetHospitalizcion(ref _objOperationResult, hospitId); //var serviceId = lista.SelectMany(p => p.Servicios.Select(q=>q.v_ServiceId)); int doctor = 1; hospser = _hospitBL.GetHospitServ(hospitId); var _DataService = _serviceBL.GetServiceReport(hospser.v_ServiceId); var datosP = _pacientBL.DevolverDatosPaciente(hospser.v_ServiceId); string ruta = Common.Utils.GetApplicationConfigValue("rutaLiquidacion").ToString(); Liquidacion_Hospitalizacion.CreateLiquidacion(ruta + "Hola" + ".pdf", MedicalCenter, lista, _DataService, datosP, doctor); this.Enabled = true; } } else { saveFileDialog1.FileName = "Liquidacion"; saveFileDialog1.Filter = "Files (*.pdf;)|*.pdf;"; var hospitId = grdData.Selected.Rows[0].Cells["v_HopitalizacionId"].Value.ToString(); using (new LoadingClass.PleaseWait(this.Location, "Generando...")) { this.Enabled = false; var MedicalCenter = _serviceBL.GetInfoMedicalCenter(); var lista = _hospitBL.GetHospitalizcion(ref _objOperationResult, hospitId); //var serviceId = lista.SelectMany(p => p.Servicios.Select(q=>q.v_ServiceId)); int paciente = 2; hospser = _hospitBL.GetHospitServ(hospitId); var _DataService = _serviceBL.GetServiceReport(hospser.v_ServiceId); var datosP = _pacientBL.DevolverDatosPaciente(hospser.v_ServiceId); string ruta = Common.Utils.GetApplicationConfigValue("rutaLiquidacion").ToString(); Liquidacion_Hospitalizacion.CreateLiquidacion(ruta + "Hola" + ".pdf", MedicalCenter, lista, _DataService, datosP, paciente); this.Enabled = true; } //string ruta = Common.Utils.GetApplicationConfigValue("rutaLiquidacion").ToString(); //Liquidacion_Hospitalizacion.CreateLiquidacion(ruta + "Hola" + ".pdf", MedicalCenter, lista, _DataService, datosP); //this.Enabled = true; } }
private void btnDoctor_Click(object sender, EventArgs e) { using (new LoadingClass.PleaseWait(this.Location, "Generando...")) { this.Enabled = false; var MedicalCenter = _serviceBL.GetInfoMedicalCenter(); var lista = _hospitBL.GetHospitalizcion(ref _objOperationResult, hospiId); //var serviceId = lista.SelectMany(p => p.Servicios.Select(q=>q.v_ServiceId)); int doctor = 1; hospser = _hospitBL.GetHospitServ(hospiId); var datosP = _pacientBL.DevolverDatosPaciente(hospser.v_ServiceId); string ruta = Common.Utils.GetApplicationConfigValue("rutaLiquidacion").ToString(); ServiceList personData = _serviceBL.GetServicePersonData(ref objOperationResult, hospser.v_ServiceId); var hospitalizacion = _hospitBL.GetHospitalizacion(ref objOperationResult, hospiId); var hospitalizacionhabitacion = _hospitBL.GetHospitalizacionHabitacion(ref objOperationResult, hospiId); var medicoTratante = new ServiceBL().GetMedicoTratante(hospser.v_ServiceId); string nombre = personData.v_DocNumber + "_" + personData.v_ProtocolName + "-LiquMédico"; #region MANDAR PRECIO A BASE decimal totalFinal = 0; foreach (var hospitalizacion_precios in lista) { var ListaServicios = hospitalizacion_precios.Servicios.FindAll(p => p.v_ServiceId != null); decimal totalParcialMedicina = 0; decimal sumaMedicina = 0; decimal sumaServicio = 0; foreach (var servicios in ListaServicios) { if (servicios.Tickets != null) { var ListaTickets = servicios.Tickets.FindAll(p => p.i_conCargoA == 1); if (ListaTickets.Count() >= 1) { foreach (var tickets in ListaTickets) { var detalletickets = tickets.Productos.FindAll(p => p.d_Cantidad != 0); foreach (var Detalle in detalletickets) { int cantidad = (int)Detalle.d_Cantidad; totalParcialMedicina = (decimal)(Detalle.d_PrecioVenta * cantidad); sumaMedicina += (decimal)totalParcialMedicina; } } } else { totalParcialMedicina = decimal.Round(totalParcialMedicina, 2); } } var ListaComponentes = servicios.Componentes.FindAll(p => p.Precio != 0 && p.i_conCargoA == 1); foreach (var compo in ListaComponentes) { decimal compoPrecio = (decimal)compo.Precio; sumaServicio += compoPrecio; } } decimal totalParcialHabitacion = 0; decimal sumaHabitacion = 0; var ListaHabitaciones = hospitalizacion_precios.Habitaciones.FindAll(p => p.i_conCargoA == 1); foreach (var habitacion in ListaHabitaciones) { DateTime inicio = habitacion.d_StartDate.Value.Date; DateTime fin; if (habitacion.d_EndDate != null || habitacion.d_EndDate.ToString() == "00/00/0000 0:0:0") { fin = habitacion.d_EndDate.Value.Date; } else { fin = DateTime.Now.Date; } TimeSpan nDias = fin - inicio; int tSpan = nDias.Days; //+ 1 int dias = 0; if (tSpan == 0) { dias = tSpan + 1; } else { dias = tSpan; } decimal _habitacionPrecio = (decimal)habitacion.d_Precio; _habitacionPrecio = decimal.Round(_habitacionPrecio, 2); totalParcialHabitacion = (decimal)(habitacion.d_Precio * dias); totalParcialHabitacion = decimal.Round(totalParcialHabitacion, 2); sumaHabitacion += (decimal)totalParcialHabitacion; } totalFinal = sumaMedicina + sumaServicio + sumaHabitacion; totalFinal = decimal.Round(totalFinal, 2); } var _Hospitalizacion = new HospitalizacionBL().GetHospitalizacion(ref objOperationResult, hospiId); _Hospitalizacion.d_PagoMedico = totalFinal; _hospitBL.UpdateHospitalizacion(ref objOperationResult, _Hospitalizacion, Globals.ClientSession.GetAsList()); #endregion Liquidacion_Hospitalizacion.CreateLiquidacion(ruta + nombre + ".pdf", MedicalCenter, lista, datosP, doctor, hospitalizacion, hospitalizacionhabitacion, medicoTratante); this.Enabled = true; } this.Close(); }