예제 #1
0
 /// <summary>
 /// Retorna el detalle de las recepciones de mercadería según el filtro.
 /// </summary>
 public List<BEReceivingGoodsDetail> Get_PSGN_SPLS_SVTD_ALMA_RECE(BEReceivingGoods obj)
 {
     using (var odr = oda.Get_PSGN_SPLS_SVTD_ALMA_RECE(obj))
     {
         var olst = new List<BEReceivingGoodsDetail>();
         ((IList)olst).LoadFromReader<BEReceivingGoodsDetail>(odr);
         Dispose(false);
         return (olst);
     }
 }
예제 #2
0
 /// <summary>
 /// Retorna el detalle de las recepciones de mercadería según el filtro.
 /// </summary>
 public IDataReader Get_PSGN_SPLS_SVTD_ALMA_RECE(BEReceivingGoods obj)
 {
     try
     {
         if (ocn.State == ConnectionState.Closed) ocn.Open();
         var ocmd = odb.GetStoredProcCommand("PSGN_SPLS_SVTD_ALMA_RECE", obj.COD_ALMA_RECE);
         ocmd.CommandTimeout = 2000;
         var odr = odb.ExecuteReader(ocmd);
         Dispose(false);
         return (odr);
     }
     finally
     {
         ocn.Close();
     }
 }
예제 #3
0
        private void Get_RowSelecion()
        {
            try
            {
                if (gdvSearch.RowCount == 0)
                    throw new ArgumentException(WhMessage.MsgZeroRows);

                rowsel = (BEReceivingGoods)gdvSearch.GetRow(gdvSearch.FocusedRowHandle);
                DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.Message, WhMessage.MsgInsCaption,
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
예제 #4
0
 /// <summary>
 /// Mantenimiento de recepciones de mercadería.
 /// Inserta
 /// </summary>
 public void Set_PSGN_SPMT_SVTC_ALMA_RECE(BEReceivingGoods obj, List<BEReceivingGoodsDetail> lsob)
 {
     oda.Set_PSGN_SPMT_SVTC_ALMA_RECE(obj, lsob);
     Dispose(false);
 }
예제 #5
0
        /// <summary>
        /// Mantenimiento de recepción de mercaderías.
        /// Inserta
        /// </summary>
        public void Set_PSGN_SPMT_SVTC_ALMA_RECE(BEReceivingGoods obj, List<BEReceivingGoodsDetail> lsob)
        {
            if (ocn.State == ConnectionState.Closed) ocn.Open();
            using (var obts = ocn.BeginTransaction())
            {
                try
                {
                    using (var ocmd = odb.GetStoredProcCommand("PSGN_SPMT_SVTC_ALMA_RECE", obj.COD_ALMA_RECE,
                                                                                           obj.COD_ALMA_TRAN,
                                                                                            obj.COD_ALMA,
                                                                                            obj.COD_SOCI_NEGO_RESP,
                                                                                            obj.COD_MOTI,
                                                                                            obj.FEC_RECE,
                                                                                            obj.FEC_REGI,
                                                                                            obj.ALF_COME,
                                                                                            obj.ALF_DOCU_REFE,
                                                                                            obj.COD_COMP,
                                                                                            obj.COD_USUA_CREA))
                    {
                        ocmd.CommandTimeout = 2000;
                        odb.ExecuteNonQuery(ocmd, obts);
                        obj.COD_ALMA_RECE = Convert.ToInt32(odb.GetParameterValue(ocmd, "@COD_ALMA_RECE"));

                        DbCommand cmdo;
                        lsob.ForEach(item =>
                        {
                            item.COD_ALMA_RECE = obj.COD_ALMA_RECE;
                            cmdo = odb.GetStoredProcCommand("PSGN_SPMT_SVTD_ALMA_RECE", item.COD_ALMA_RECE_DETA,
                                                                                        item.COD_ALMA_RECE,
                                                                                        item.COD_ALMA_TRAN,
                                                                                        item.COD_ARTI,
                                                                                        item.NUM_CANT,
                                                                                        item.NUM_CANT_MALO,
                                                                                        item.COD_USUA_CREA);
                            cmdo.CommandTimeout = 2000;
                            odb.ExecuteNonQuery(cmdo, obts);
                            item.COD_ALMA_RECE_DETA = Convert.ToInt32(odb.GetParameterValue(cmdo, "@COD_ALMA_RECE_DETA"));
                        });

                        obts.Commit();
                    }
                }
                catch (Exception ex)
                {
                    obts.Rollback();
                    obj.MSG_MNTN = ex.Message;
                }
                finally
                {
                    ocn.Close();
                }
            }
        }
예제 #6
0
        private void Search()
        {
            try
            {
                var opar = new BEReceivingGoods()
                {
                    COD_ALMA = (int?)lkeCOD_ALMA.EditValue,
                    COD_MOTI = (int?)lkeCOD_MOTI.EditValue,
                    FEC_RECE = (DateTime?)dteFEC_SALI.EditValue,
                    FEC_REGI = (DateTime?)dteFEC_REGI.EditValue,
                    ALF_DOCU_REFE = txtALF_DOCU_REFE.Text,
                    COD_COMP = xfMain.SgIns.SESSION_COMP
                };

                var obr = new BRReceivingGoods();
                var olst = obr.Get_PSGN_SPLS_SVTC_ALMA_RECE(opar);

                gdcSearch.DataSource = olst;
                gdvSearch.MoveFirst();
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.Message, WhMessage.MsgInsCaption,
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
예제 #7
0
        public void Set_Save()
        {
            MessageBoxIcon msgIcon = MessageBoxIcon.Warning;
            try
            {
                if (!string.IsNullOrWhiteSpace(txtCOD_ALMA_RECE.Text))
                {
                    msgIcon = MessageBoxIcon.Warning;
                    throw new ArgumentException(WhMessage.MsgNotModyRegis);
                }
                var obrg = new BEReceivingGoods()
                {
                    COD_ALMA_TRAN = obtg.COD_ALMA_TRAN,
                    ALF_DOCU_REFE = txtALF_DOCU_REFE.Text.Trim(),
                    FEC_RECE = (DateTime?)dteFEC_RECE.EditValue,
                    FEC_REGI = (DateTime?)dteFEC_REGI.EditValue,
                    COD_ALMA = (int?)lkeCOD_ALMA.EditValue,
                    COD_SOCI_NEGO_RESP = (int?)lkeCOD_SOCI_NEGO_RESP.EditValue,
                    COD_MOTI = (int?)lkeCOD_MOTI.EditValue,
                    ALF_COME = memALF_COME.Text.Trim(),
                    COD_USUA_CREA = SESSION_USER,
                    COD_USUA_MODI = SESSION_USER,
                    COD_COMP = SESSION_COMP
                };

                var context = new ValidationContext(obrg, null, null);
                var errors = new List<ValidationResult>();
                if (!Validator.TryValidateObject(obrg, context, errors, true))
                {
                    foreach (ValidationResult result in errors)
                    {
                        msgIcon = MessageBoxIcon.Warning;
                        throw new ArgumentException(result.ErrorMessage);
                    }
                }

                gdvDetail.CloseEditor();
                gdvDetail.RefreshData();
                var olst = (List<BEReceivingGoodsDetail>)gdvDetail.DataSource;
                if (olst.Count == 0)
                {
                    msgIcon = MessageBoxIcon.Warning;
                    throw new ArgumentException(WhMessage.MsgManyRows);
                }

                var i = 1;
                olst.ForEach(item =>
                {
                    context = new ValidationContext(item, null, null);
                    errors = new List<ValidationResult>();
                    if (!Validator.TryValidateObject(item, context, errors, true))
                    {
                        foreach (ValidationResult result in errors)
                        {
                            msgIcon = MessageBoxIcon.Warning;
                            throw new ArgumentException(string.Format("{0}\nFila: {1}", result.ErrorMessage, i));
                        }
                    }
                    i++;
                });

                var manywh = olst.Select(item => item.COD_ALMA).Distinct().Count();
                if (manywh > 1)
                {
                    msgIcon = MessageBoxIcon.Warning;
                    throw new ArgumentException(WhMessage.MsgManyWhArt);
                }

                var obr = new BRReceivingGoods();
                obr.Set_PSGN_SPMT_SVTC_ALMA_RECE(obrg, olst);
                if (!string.IsNullOrWhiteSpace(obrg.MSG_MNTN))
                {
                    msgIcon = MessageBoxIcon.Error;
                    throw new ArgumentException(obrg.MSG_MNTN);
                }
                txtCOD_ALMA_RECE.Text = obrg.COD_ALMA_RECE.ToString();
                gdvDetail.RefreshData();
                StateControls(true);
                XtraMessageBox.Show(WhMessage.MsgSuccessfully, WhMessage.MsgInsCaption,
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.Message,
                                    WhMessage.MsgInsCaption,
                                    MessageBoxButtons.OK,
                                    msgIcon);
            }
        }
예제 #8
0
        private void Set_ReceivingGoods(BEReceivingGoods row)
        {
            ClearControls();
            txtCOD_ALMA_RECE.Text = row.COD_ALMA_RECE.ToString();
            txtALF_DOCU_REFE.Text = row.ALF_DOCU_REFE;
            dteFEC_RECE.EditValue = row.FEC_RECE;
            dteFEC_REGI.EditValue = row.FEC_REGI;
            lkeCOD_ALMA.EditValue = row.COD_ALMA;
            lkeCOD_SOCI_NEGO_RESP.EditValue = row.COD_SOCI_NEGO_RESP;
            lkeCOD_MOTI.EditValue = row.COD_MOTI;
            memALF_COME.Text = row.ALF_COME;

            var obrg = new BEReceivingGoods() { COD_ALMA_RECE = row.COD_ALMA_RECE };
            var obr = new BRReceivingGoods();
            var olst = obr.Get_PSGN_SPLS_SVTD_ALMA_RECE(obrg);

            gdcDetail.DataSource = olst;
            gdvDetail.RefreshData();
        }