コード例 #1
0
        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.
                //}
            }
        }