Exemplo n.º 1
0
 // Invoke the Changed event; called whenever list changes
 protected virtual void OnAddValidate(BarCodeAddValidateEventArgs e)
 {
     if (AddValidate != null)
     {
         AddValidate(this, e);
     }
 }
Exemplo n.º 2
0
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            DataTable dt = GetTableWithNoData(); // get select column header only records not required
            DataRow   dr;
            bool      duplicateFound  = false;
            bool      barcodeNotFound = false;

            foreach (GridViewRow gvr in grd.Rows)
            {
                dr = dt.NewRow();

                Literal litBarcode        = gvr.FindControl("litBarcode") as Literal;
                Literal litPackageType    = gvr.FindControl("litPackageType") as Literal;
                Literal litExpirationDate = gvr.FindControl("litExpirationDate") as Literal;
                Literal litPackageId      = gvr.FindControl("litPackageId") as Literal;

                dr["Barcode"]        = litBarcode.Text;
                dr["PackageType"]    = litPackageType.Text;
                dr["ExpirationDate"] = DateTime.Parse(litExpirationDate.Text);
                dr["PackageId"]      = int.Parse(litPackageId.Text);

                dt.Rows.Add(dr); // add grid values in to row and add row to the blank table

                if (litBarcode.Text == txtBarcode.Text)
                {
                    duplicateFound = true;
                }
            }

            IPackageRepository repository     = new PackageRepository(ConfigurationManager.ConnectionStrings["ENetCare"].ConnectionString);
            PackageService     packageService = new PackageService(repository);

            BarCodeAddValidateEventArgs eventArgs = new BarCodeAddValidateEventArgs()
            {
                Success = true
            };

            Package package = packageService.Retrieve(txtBarcode.Text);

            if (package == null)
            {
                barcodeNotFound = true;
            }
            else
            {
                eventArgs.Package = package;
                OnAddValidate(eventArgs);
            }

            if (duplicateFound)
            {
                litMessage.Text = "Barcode already selected";
            }
            else if (barcodeNotFound)
            {
                litMessage.Text = "Barcode not found";
            }
            else if (!eventArgs.Success)
            {
                litMessage.Text = eventArgs.ErrorMessage;
            }
            else
            {
                litMessage.Text = string.Empty;

                dr = dt.NewRow(); // add last empty row

                dr["Barcode"]        = txtBarcode.Text;
                dr["PackageType"]    = package.PackageType.Description;
                dr["ExpirationDate"] = package.ExpirationDate;
                dr["PackageId"]      = package.PackageId;

                dt.Rows.Add(dr);

                txtBarcode.Text = string.Empty;
            }

            grd.DataSource = dt; // bind new datatable to grid
            grd.DataBind();
        }