예제 #1
0
        protected void btn_Save_Click(object sender, EventArgs e)
        {
            ValidateFields();
            if (!this.MessageCollection.isErrorOccured)
            {
                var Griddt = (DataTable)ViewState[Enums.SessionName.POSdetail.ToString()];

                PharmacyPOSHandler handler = new PharmacyPOSHandler();
                handler.InsertCustomer(MapModelForInsertion());
                MessageCollection.copyFrom(handler.MessageCollection);


                if (!MessageCollection.isErrorOccured)
                {
                    foreach (DataRow dr in Griddt.Rows)
                    {
                        var model = MapModelForInsertion(dr);
                        handler.Update(model);
                    }
                }
                MessageCollection.copyFrom(handler.MessageCollection);
                if (MessageCollection.isErrorOccured)
                {
                    MessageCollection.PublishLog();
                    lbl_err.Text    = MessageCollection.Messages[MessageCollection.Messages.Count - 1].ErrorMessage;
                    lbl_err.Visible = true;
                }
                else
                {
                    lbl_err.Text = "Record Inserted Successfully";
                    lbl_err.Style.Add("color", "#FF008000");
                    btn_cancel_Click(null, null);
                }
            }
            else
            {
                MessageCollection.PublishLog();
                lbl_err.Text    = MessageCollection.Messages[MessageCollection.Messages.Count - 1].ErrorMessage;
                lbl_err.Visible = true;
            }
        }
예제 #2
0
        protected void txt_qrcode_TextChanged(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(txt_qrcode.Text))
            {
                var model = MapModelForQRCode();
                PharmacyPOSHandler handler = new PharmacyPOSHandler();
                var dt = handler.GetMedicine(model);
                MessageCollection.copyFrom(handler.MessageCollection);

                if (!MessageCollection.isErrorOccured)
                {
                    if (ViewState != null && ViewState[Enums.SessionName.POSdetail.ToString()] != null &&
                        ViewState[Enums.SessionName.MedicineDetail.ToString()] != null)
                    {
                        DataRow ValueRow = dt.Rows[0];
                        string  qrCode   = ValueRow["QRCode"].ToString();
                        medQuantity = (Dictionary <string, int>)ViewState[Enums.SessionName.MedicineDetail.ToString()];
                        if (medQuantity.ContainsKey(qrCode))
                        {
                            if (medQuantity[qrCode] == 0)
                            {
                                MessageCollection.addMessage(new Message()
                                {
                                    Context      = "PharmacyPOS",
                                    LogType      = Enums.LogType.Exception,
                                    WebPage      = "PharmacyPOS",
                                    isError      = true,
                                    ErrorCode    = ErrorCache.NoQuantityLeftError,
                                    ErrorMessage = ErrorCache.getErrorMessage(ErrorCache.NoQuantityLeftError)
                                });

                                MessageCollection.PublishLog();
                                lbl_err.Text    = MessageCollection.Messages[MessageCollection.Messages.Count - 1].ErrorMessage;
                                lbl_err.Visible = true;
                            }
                            else
                            {
                                medQuantity[qrCode] = medQuantity[qrCode] - 1;
                            }
                        }
                        else
                        {
                            medQuantity.Add(qrCode, Convert.ToInt32(ValueRow["Quantity"]) - 1);
                        }

                        if (!MessageCollection.isErrorOccured)
                        {
                            DataTable POSdt = (DataTable)ViewState[Enums.SessionName.POSdetail.ToString()];
                            DataRow   dr    = POSdt.NewRow();

                            dr["ID"]         = ValueRow["ID"];
                            dr["Name"]       = ValueRow["Name"];
                            dr["BatchNo"]    = ValueRow["BatchNo"];
                            dr["ExpiryDate"] = ValueRow["ExpiryDate"];
                            dr["MfgDate"]    = ValueRow["MfgDate"];
                            dr["Price"]      = ValueRow["Price"];
                            dr["QRCode"]     = ValueRow["QRCode"];
                            POSdt.Rows.Add(dr);
                            gridView.DataSource = POSdt;
                            gridView.DataBind();
                            CalculateSum(POSdt);
                        }
                    }
                    else
                    {
                        if (Convert.ToInt32(dt.Rows[0]["quantity"]) != 0)
                        {
                            ViewState[Enums.SessionName.POSdetail.ToString()] = dt;
                            medQuantity.Add(dt.Rows[0]["qrcode"].ToString(), Convert.ToInt32(dt.Rows[0]["quantity"]) - 1);
                            ViewState[Enums.SessionName.MedicineDetail.ToString()] = medQuantity;
                            gridView.DataSource = dt;
                            gridView.DataBind();
                            CalculateSum(dt);
                        }
                        else
                        {
                            MessageCollection.addMessage(new Message()
                            {
                                Context      = "PharmacyPOS",
                                LogType      = Enums.LogType.Exception,
                                WebPage      = "PharmacyPOS",
                                isError      = true,
                                ErrorCode    = ErrorCache.NoQuantityLeftError,
                                ErrorMessage = ErrorCache.getErrorMessage(ErrorCache.NoQuantityLeftError)
                            });

                            MessageCollection.PublishLog();
                            lbl_err.Text    = MessageCollection.Messages[MessageCollection.Messages.Count - 1].ErrorMessage;
                            lbl_err.Visible = true;
                        }
                    }
                }
            }

            txt_qrcode.Text = "";
            txt_qrcode.Focus();
        }