private void btnGuardarTicket_Click(object sender, EventArgs e) { OperationResult objOperationResult = new OperationResult(); _ticketdetalleDTO = new List <ticketdetalleDto>(); if (objticketDto == null) { objticketDto = new ticketDto(); } //objticketDto.v_TicketId txtNServicio.Text = _serviceId; objticketDto.v_ServiceId = txtNServicio.Text; objticketDto.d_Fecha = DateTime.Parse(txtFecha.Text); objticketDto.i_ConCargoA = rbMedicoTratante.Checked ? (int)CargoHospitalizacion.MedicoTratante :(int)CargoHospitalizacion.Paciente; objticketDto.i_TipoCuentaId = int.Parse(cboTipoCuenta.SelectedValue.ToString()); objticketDto.i_TicketInterno = chkTicketInterno.Checked ? 1 : 0; if (_mode == "New") { foreach (var item in _tmpTicketDetalleList) { ticketdetalleDto ticketDetalle = new ticketdetalleDto(); ticketDetalle.v_IdProductoDetalle = item.v_IdProductoDetalle; ticketDetalle.d_Cantidad = item.d_Cantidad; ticketDetalle.i_EsDespachado = item.i_EsDespachado; ticketDetalle.v_CodInterno = item.v_CodInterno; ticketDetalle.v_Descripcion = item.v_NombreProducto; ticketDetalle.d_PrecioVenta = item.d_PrecioVenta; ticketDetalle.d_SaldoPaciente = item.d_SaldoPaciente; ticketDetalle.d_SaldoAseguradora = item.d_SaldoAseguradora; ticketDetalle.v_IdUnidadProductiva = item.v_IdUnidadProductiva; _ticketdetalleDTO.Add(ticketDetalle); } DialogResult Result = MessageBox.Show("¿Desea Guardar Ticket?", "ADVERTENCIA!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (Result == System.Windows.Forms.DialogResult.Yes) { ticketId = _objTicketBl.AddTicket(ref objOperationResult, objticketDto, _ticketdetalleDTO, Globals.ClientSession.GetAsList()); this.Close(); } else { this.Close(); } //if (!string.IsNullOrEmpty(_tickId)) //{ // _mode = "Edit"; // _tickId = txtNTicket.Text; //} } else if (_mode == "Edit") { objticketDto.v_TicketId = _tickId; _ticketdetalleDTOUpdate = new List <ticketdetalleDto>(); _ticketdetalleDTODelete = new List <ticketdetalleDto>(); objticketDto.d_Fecha = DateTime.Parse(txtFecha.Text); objticketDto.i_ConCargoA = rbMedicoTratante.Checked ? (int)CargoHospitalizacion.MedicoTratante : (int)CargoHospitalizacion.Paciente; objticketDto.i_TipoCuentaId = int.Parse(cboTipoCuenta.SelectedValue.ToString()); objticketDto.i_TicketInterno = chkTicketInterno.Checked ? 1 : 0; foreach (var item in _tmpTicketDetalleList) { #region Add if (item.i_RecordType == (int)RecordType.Temporal && item.i_RecordStatus == (int)RecordStatus.Agregado) { ticketdetalleDto ticketdetalleDtoAdd = new ticketdetalleDto(); ticketdetalleDtoAdd.v_IdProductoDetalle = item.v_IdProductoDetalle; ticketdetalleDtoAdd.d_Cantidad = item.d_Cantidad; ticketdetalleDtoAdd.i_EsDespachado = item.i_EsDespachado; ticketdetalleDtoAdd.v_CodInterno = item.v_CodInterno; ticketdetalleDtoAdd.v_Descripcion = item.v_NombreProducto; ticketdetalleDtoAdd.d_PrecioVenta = item.d_PrecioVenta; ticketdetalleDtoAdd.d_SaldoPaciente = item.d_SaldoPaciente; ticketdetalleDtoAdd.d_SaldoAseguradora = item.d_SaldoAseguradora; ticketdetalleDtoAdd.v_IdUnidadProductiva = item.v_IdUnidadProductiva; _ticketdetalleDTO.Add(ticketdetalleDtoAdd); } #endregion #region Upd if (item.i_RecordType == (int)RecordType.NoTemporal && item.i_RecordStatus == (int)RecordStatus.Modificado) { ticketdetalleDto ticketdetalleDtoUp = new ticketdetalleDto(); ticketdetalleDtoUp.v_TicketDetalleId = item.v_TicketDetalleId; ticketdetalleDtoUp.v_IdProductoDetalle = item.v_IdProductoDetalle; ticketdetalleDtoUp.d_Cantidad = item.d_Cantidad; ticketdetalleDtoUp.i_EsDespachado = item.i_EsDespachado; ticketdetalleDtoUp.v_CodInterno = item.v_CodInterno; ticketdetalleDtoUp.v_Descripcion = item.v_NombreProducto; ticketdetalleDtoUp.d_PrecioVenta = item.d_PrecioVenta; ticketdetalleDtoUp.i_IsDeleted = 0; ticketdetalleDtoUp.d_SaldoPaciente = item.d_SaldoPaciente; ticketdetalleDtoUp.d_SaldoAseguradora = item.d_SaldoAseguradora; ticketdetalleDtoUp.v_IdUnidadProductiva = item.v_IdUnidadProductiva; _ticketdetalleDTOUpdate.Add(ticketdetalleDtoUp); } #endregion #region Del if (item.i_RecordType == (int)RecordType.NoTemporal && item.i_RecordStatus == (int)RecordStatus.EliminadoLogico) { ticketdetalleDto ticketdetalleDtoDel = new ticketdetalleDto(); ticketdetalleDtoDel.v_TicketDetalleId = item.v_TicketDetalleId; _ticketdetalleDTODelete.Add(ticketdetalleDtoDel); } #endregion } DialogResult Result = MessageBox.Show("¿Desea Guardar Ticket Editado?", "ADVERTENCIA!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (Result == System.Windows.Forms.DialogResult.Yes) { _objTicketBl.UpdateTicket(ref objOperationResult, objticketDto, _ticketdetalleDTO, _ticketdetalleDTOUpdate.Count == 0 ? null : _ticketdetalleDTOUpdate, _ticketdetalleDTODelete.Count == 0 ? null : _ticketdetalleDTODelete, Globals.ClientSession.GetAsList()); this.Close(); } else { this.Close(); } //if (objOperationResult.Success == 1) // Operación sin error //{ // //this.DialogResult = DialogResult.OK; // MessageBox.Show("Se grabo correctamente.", "INFORMACION!", MessageBoxButtons.OK, MessageBoxIcon.Information); // _mode = "Edit"; // //this.Close(); //} //else // Operación con error //{ // MessageBox.Show(Constants.GenericErrorMessage, "ERROR!", MessageBoxButtons.OK, MessageBoxIcon.Error); // // Se queda en el formulario. //} } }