private RECIBO liquidarCuota() { RECIBO recibo; wsServiciosLIQUIDACION.LIQUIDACION_DETALLE[] lstDetalles = new wsServiciosLIQUIDACION.LIQUIDACION_DETALLE[1]; if (grdCuotas.Rows != null && grdCuotas.Rows.Count > 0 && grdCuotas.SelectedRows != null && grdCuotas.SelectedRows.Count > 0 && view_myCliente != null && view_myCliente.ID > 0) { if (grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value != null && String.IsNullOrEmpty(grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value.ToString()) || String.IsNullOrWhiteSpace(grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value.ToString())) { //*********************************************************************** String sql = @"SELECT TARIFA_DETALLE.ID FROM TARIFA_DETALLE INNER JOIN TARIFA_CONCEPTO ON (TARIFA_DETALLE.ID_TARIFA_CONCEPTO = TARIFA_CONCEPTO.ID) WHERE TARIFA_CONCEPTO.NOMBRE = 'CUOTA ACUERDO PAGO'"; DataSet ds = serviciosSQL.consultaSQL(sql, "id"); if (ds != null && ds.Tables != null && ds.Tables["id"] != null && ds.Tables["id"].Rows.Count > 0) { wsServiciosLIQUIDACION.LIQUIDACION_DETALLE detalle = new wsServiciosLIQUIDACION.LIQUIDACION_DETALLE(); detalle.ID_TARIFA_DETALLE = int.Parse(ds.Tables["id"].Rows[0][0].ToString()); detalle.VALOR_CONCEPTO = float.Parse(grdCuotas.SelectedRows[0].Cells["VALOR"].Value.ToString()); lstDetalles[0] = detalle; //************************************************************************ wsServiciosLIQUIDACION.LIQUIDACION liquidacion = new wsServiciosLIQUIDACION.LIQUIDACION(); liquidacion.ID_CLIENTE = view_myCliente.ID; TIPO_LIQUIDACION tipo = new TIPO_LIQUIDACION(); tipo.TIPO = "AP"; tipo = serviciosTIPO_LIQUIDACION.buscarPrimeroTIPO_LIQUIDACION(tipo); if (tipo != null && tipo.ID > 0) { liquidacion.ID_TIPO_LIQUIDACION = tipo.ID; } liquidacion.TOTAL = float.Parse(grdCuotas.SelectedRows[0].Cells["VALOR"].Value.ToString()); var clienteSerializado = JsonConvert.SerializeObject(view_myCliente); wsServiciosLIQUIDACION.VIEW_CLIENTE clienteDesserializado = JsonConvert.DeserializeObject <wsServiciosLIQUIDACION.VIEW_CLIENTE>(clienteSerializado); liquidacion = serviciosLIQUIDACION.crearMultipleLIQUIDACION_2(liquidacion, lstDetalles, clienteDesserializado); if (liquidacion != null && liquidacion.ID > 0) { WSServiciosRECIBO.ServiciosRECIBO servicio = new WSServiciosRECIBO.ServiciosRECIBO(); var liquidacionSerializado = JsonConvert.SerializeObject(liquidacion); WSServiciosRECIBO.LIQUIDACION liquidacionDesserializado = JsonConvert.DeserializeObject <WSServiciosRECIBO.LIQUIDACION>(liquidacionSerializado); WSServiciosRECIBO.LIQUIDACION_DETALLE[] lstLiquidacionDetalle = new WSServiciosRECIBO.LIQUIDACION_DETALLE[1]; var detalleSerializado = JsonConvert.SerializeObject(lstDetalles[0]); WSServiciosRECIBO.LIQUIDACION_DETALLE detalleDesserializado = JsonConvert.DeserializeObject <WSServiciosRECIBO.LIQUIDACION_DETALLE>(detalleSerializado); lstLiquidacionDetalle[0] = detalleDesserializado; clienteSerializado = JsonConvert.SerializeObject(clienteDesserializado); WSServiciosRECIBO.VIEW_CLIENTE clienteTmp = JsonConvert.DeserializeObject <WSServiciosRECIBO.VIEW_CLIENTE>(clienteSerializado); recibo = servicio.generarRECIBO(liquidacionDesserializado, lstLiquidacionDetalle, clienteTmp); if (recibo != null && recibo.ID > 0) { MessageBox.Show("Liquidación realizada correctamente", "Liquidación correcta", MessageBoxButtons.OK, MessageBoxIcon.Information); return(recibo); } else { MessageBox.Show("Ocurrio algún problema y la liquidación fue incorrecta", "Liquidación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error); return(null); } } else { MessageBox.Show("Ocurrio un error desconocido y la liquidación no se realizó correctamente", "Liquidación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error); return(null); } } else { MessageBox.Show("La liquidación no puede continuar ya que no se a configurado el concepto y el detalle de la tarifa para CUOTA ACUERDO PAGO", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(null); } } else { if (grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value != null && !String.IsNullOrEmpty(grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value.ToString()) && !String.IsNullOrWhiteSpace(grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value.ToString())) { recibo = new RECIBO(); recibo.NUMERO_RECIBO = grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value.ToString(); recibo = serviciosRECIBO.buscarPrimeroRECIBO(recibo); return(recibo); } else { return(null); } } } else { MessageBox.Show("No se seleccionó ningúna cuota de la lista", "Seleccione una cuota", MessageBoxButtons.OK, MessageBoxIcon.Information); return(null); } }
private void liquidar() { try { frmTipoLiquidacion frm = new frmTipoLiquidacion(); if (frm.ShowDialog(this) == DialogResult.Yes)//Pago total { wsServiciosLIQUIDACION.LIQUIDACION_DETALLE[] lstDetalles = new wsServiciosLIQUIDACION.LIQUIDACION_DETALLE[grdDatos.Rows.Count]; if (grdDatos.Rows != null && grdDatos.Rows.Count > 0 && myCliente != null && myCliente.ID > 0) { for (int i = 0; i < grdDatos.Rows.Count; i++) { wsServiciosLIQUIDACION.LIQUIDACION_DETALLE detalle = new wsServiciosLIQUIDACION.LIQUIDACION_DETALLE(); detalle.ID_TARIFA_DETALLE = int.Parse(grdDatos.Rows[i].Cells["ID_TARIFADETALLE"].Value.ToString()); detalle.VALOR_CONCEPTO = float.Parse(grdDatos.Rows[i].Cells["VALOR"].Value.ToString()); lstDetalles[i] = detalle; } wsServiciosLIQUIDACION.LIQUIDACION liquidacion = new wsServiciosLIQUIDACION.LIQUIDACION(); liquidacion.ID_CLIENTE = myCliente.ID; TIPO_LIQUIDACION tipo = new TIPO_LIQUIDACION(); tipo.TIPO = "PT"; tipo = serviciosTIPO_LIQUIDACION.buscarPrimeroTIPO_LIQUIDACION(tipo); if (tipo != null && tipo.ID > 0) { liquidacion.ID_TIPO_LIQUIDACION = tipo.ID; } liquidacion.TOTAL = total; wsServiciosLIQUIDACION.VIEW_CLIENTE tmpCliente = new wsServiciosLIQUIDACION.VIEW_CLIENTE(); tmpCliente.ID = myCliente.ID; tmpCliente.TIPO_DOCUMENTO = myCliente.TIPO_DOCUMENTO; tmpCliente.IDENTIFICACION = myCliente.IDENTIFICACION; tmpCliente.NOMBRES = myCliente.NOMBRES; tmpCliente.APELLIDOS = myCliente.APELLIDOS; tmpCliente.DIRECCION = myCliente.DIRECCION; tmpCliente.CIUDAD = myCliente.CIUDAD; tmpCliente.DEPARTAMENTO = myCliente.DEPARTAMENTO; tmpCliente.GENERO = myCliente.GENERO; tmpCliente.TELEFONO = myCliente.TELEFONO; tmpCliente.CELULAR = myCliente.CELULAR; tmpCliente.CORREO = myCliente.CORREO; tmpCliente.FECHA_NACIMIENTO = myCliente.FECHA_NACIMIENTO; liquidacion = serviciosLIQUIDACION.crearMultipleLIQUIDACION_2(liquidacion, lstDetalles, tmpCliente); if (liquidacion != null && liquidacion.ID > 0) { WSServiciosRECIBO.ServiciosRECIBO servicio = new WSServiciosRECIBO.ServiciosRECIBO(); var liquidacionSerializado = JsonConvert.SerializeObject(liquidacion); WSServiciosRECIBO.LIQUIDACION liquidacionDesserializado = JsonConvert.DeserializeObject <WSServiciosRECIBO.LIQUIDACION> (liquidacionSerializado); WSServiciosRECIBO.LIQUIDACION_DETALLE[] lstLiquidacionDetalle = new WSServiciosRECIBO.LIQUIDACION_DETALLE[lstDetalles.Length]; int i = 0; foreach (wsServiciosLIQUIDACION.LIQUIDACION_DETALLE item in lstDetalles) { var detalleSerializado = JsonConvert.SerializeObject(item); WSServiciosRECIBO.LIQUIDACION_DETALLE detalleDesserializado = JsonConvert.DeserializeObject <WSServiciosRECIBO.LIQUIDACION_DETALLE>(detalleSerializado); lstLiquidacionDetalle[i] = detalleDesserializado; i++; } var clienteSerializado = JsonConvert.SerializeObject(tmpCliente); WSServiciosRECIBO.VIEW_CLIENTE clienteDesserializado = JsonConvert.DeserializeObject <WSServiciosRECIBO.VIEW_CLIENTE>(clienteSerializado); recibo = servicio.generarRECIBO(liquidacionDesserializado, lstLiquidacionDetalle, clienteDesserializado); if (recibo != null && recibo.ID > 0) { btnLiquidar.Enabled = false; lblNumRecibo.Text = recibo.NUMERO_RECIBO; btnVerRecibo.Enabled = true; MessageBox.Show("Liquidación realizada correctamente", "Liquidación correcta", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { btnLiquidar.Enabled = true; lblNumRecibo.Text = "#"; btnVerRecibo.Enabled = false; MessageBox.Show("Ocurrio algún problema y la liquidación fue incorrecta", "Liquidación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Ocurrio un error desconocido y la liquidación no se realizó correctamente", "Liquidación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else//Acuerdo Pago { wsServiciosLIQUIDACION.LIQUIDACION_DETALLE[] lstDetalles = new wsServiciosLIQUIDACION.LIQUIDACION_DETALLE[grdDatos.Rows.Count]; if (grdDatos.Rows != null && grdDatos.Rows.Count > 0 && myCliente != null && myCliente.ID > 0) { for (int i = 0; i < grdDatos.Rows.Count; i++) { wsServiciosLIQUIDACION.LIQUIDACION_DETALLE detalle = new wsServiciosLIQUIDACION.LIQUIDACION_DETALLE(); detalle.ID_TARIFA_DETALLE = int.Parse(grdDatos.Rows[i].Cells["ID_TARIFADETALLE"].Value.ToString()); detalle.VALOR_CONCEPTO = float.Parse(grdDatos.Rows[i].Cells["VALOR"].Value.ToString()); lstDetalles[i] = detalle; } wsServiciosLIQUIDACION.LIQUIDACION liquidacion = new wsServiciosLIQUIDACION.LIQUIDACION(); liquidacion.ID_CLIENTE = myCliente.ID; TIPO_LIQUIDACION tipo = new TIPO_LIQUIDACION(); tipo.TIPO = "AP"; tipo = serviciosTIPO_LIQUIDACION.buscarPrimeroTIPO_LIQUIDACION(tipo); if (tipo != null && tipo.ID > 0) { liquidacion.ID_TIPO_LIQUIDACION = tipo.ID; } liquidacion.TOTAL = total; wsServiciosLIQUIDACION.VIEW_CLIENTE tmpCliente = new wsServiciosLIQUIDACION.VIEW_CLIENTE(); tmpCliente.ID = myCliente.ID; tmpCliente.TIPO_DOCUMENTO = myCliente.TIPO_DOCUMENTO; tmpCliente.IDENTIFICACION = myCliente.IDENTIFICACION; tmpCliente.NOMBRES = myCliente.NOMBRES; tmpCliente.APELLIDOS = myCliente.APELLIDOS; tmpCliente.DIRECCION = myCliente.DIRECCION; tmpCliente.CIUDAD = myCliente.CIUDAD; tmpCliente.DEPARTAMENTO = myCliente.DEPARTAMENTO; tmpCliente.GENERO = myCliente.GENERO; tmpCliente.TELEFONO = myCliente.TELEFONO; tmpCliente.CELULAR = myCliente.CELULAR; tmpCliente.CORREO = myCliente.CORREO; tmpCliente.FECHA_NACIMIENTO = myCliente.FECHA_NACIMIENTO; liquidacion = serviciosLIQUIDACION.crearMultipleLIQUIDACION_2(liquidacion, lstDetalles, tmpCliente); if (liquidacion != null && liquidacion.ID > 0) { frmBuscarLiquidacion buscarLiquidacion = new frmBuscarLiquidacion(myCliente); buscarLiquidacion.ShowDialog(this); } else { MessageBox.Show("Ocurrio un error desconocido y la liquidación no se realizó correctamente", "Liquidación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } catch (Exception exp) { } }