Beispiel #1
0
        void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            DataSet  ds       = new DataSet();
            DateTime dateFrom = dtFrom.Value;
            DateTime dateTo   = dtTo.Value;

            ds.Tables.Add(IssueDoc.GetIssueSummaryBySupplier(dateFrom, dateTo, _chosenStoreTypeID));
            ds.Tables[0].TableName = "SupplierSummary";
            ds.Tables.Add(IssueDoc.GetIssueBreakdownBySupplier(dateFrom, dateTo, _chosenStoreTypeID));
            ds.Tables[1].TableName = "SupplierBreakdown";

            var _distributionBreakdow = new DistributionBreakdown
            {
                HubName   = { Text = GeneralInfo.Current.HospitalName },
                DateRange =
                {
                    Text =
                        string.Format("{0} to {1}", dtFrom.Text,
                                      dtTo.Text)
                },
                DataSource = ds
            };

            e.Result = _distributionBreakdow;
        }
Beispiel #2
0
        private void gridView1_DoubleClick(object sender, EventArgs e)
        {
            DataRow dr = gridView1.GetFocusedDataRow();

            if (dr == null)
            {
                return;
            }

            int        tranId = Convert.ToInt32(dr["ID"]);
            ReceiveDoc rec    = new ReceiveDoc();

            rec.LoadByPrimaryKey(tranId);

            _dtDate.Value        = DateTime.Now;
            _dtDate.CustomFormat = "MM/dd/yyyy";
            IssueDoc iss = new IssueDoc();

            iss.GetIssueByBatchAndId(rec.ItemID, rec.BatchNo, rec.ID);
            DateTime dtCurrent = ConvertDate.DateConverter(_dtDate.Text);

            if ((rec.Date.Year != dtCurrent.Year && rec.Date.Month < 11) || (iss.RowCount != 0))
            {
                //XtraMessageBox.Show("Unable to edit, This Transaction has been processed. Try Loss and Adjustment.", "Unable to Edit", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                EditReceive edRec = new EditReceive(tranId, true);
                MainWindow.ShowForms(edRec);
            }
            else
            {
                EditReceive edRec = new EditReceive(tranId, false);
                MainWindow.ShowForms(edRec);
            }
        }
Beispiel #3
0
        private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var us     = new User();
            var userID = MainWindow.LoggedinId;

            us.LoadByPrimaryKey(userID);
            var dr = (DataRowView)lstTree.GetDataRecordByNode(lstTree.FocusedNode);

            if (dr == null)
            {
                return;
            }
            if (us.UserName != "admin")
            {
                XtraMessageBox.Show("You don't have the privilege to update reference number!", "Caution");
                return;
            }
            if (XtraMessageBox.Show("Are You Sure, You want to delete this?", "Confirmation", MessageBoxButtons.YesNo,
                                    MessageBoxIcon.Question) == DialogResult.Yes)
            {
                var       dis  = new IssueDoc();
                DataTable dtbl = dis.GetTransactionByRefNo((string)dr["RefNo"]);
                foreach (DataRow dataRow in dtbl.Rows)
                {
                    AddIssueDocDeleted(dataRow);
                    DeletedRelatedModel(dataRow);
                    dataRow.Delete();
                }

                dis.MarkAsDeleted();
                dis.Save();
                XtraMessageBox.Show("Item successfully deleted.", "Success");
            }
        }
 /// <summary>
 /// Gets the cost of good sold.
 /// </summary>
 /// <param name="AccountID">The account ID.</param>
 /// <returns></returns>
 public static DataView GetCostOfGoodSold(int AccountID, DateTime aDate, DateTime bDate)
 {
     IssueDoc report = new IssueDoc();
     var query = HCMIS.Repository.Queries.IssueDoc.SelectGetCostOfGoodSold(AccountID, aDate, bDate);
     report.LoadFromRawSql(query);
     return report.DefaultView;
 }
        private void lstTree_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
        {
            CalendarLib.DateTimePickerEx dtDate = new CalendarLib.DateTimePickerEx
            {
                CustomFormat = "MM/dd/yyyy",
                Value        = DateTime.Now
            };
            DateTime dtCurrent = ConvertDate.DateConverter(dtDate.Text);

            DataRowView dr = (DataRowView)lstTree.GetDataRecordByNode(lstTree.FocusedNode);

            if (dr == null)
            {
                return;
            }

            //lstTransactions.Items.Clear();
            IssueDoc  iss = new IssueDoc();
            DataTable dtRec;

            if (dr["ParentID"] == DBNull.Value)
            {
                EthiopianDate.EthiopianDate ethiopianDate = new EthiopianDate.EthiopianDate(Convert.ToInt32(dr["ID"]), 1, 1);
                dtRec = iss.GetTransactionByDateRange(Convert.ToInt32(cboStores.EditValue), ethiopianDate.StartOfFiscalYear.ToGregorianDate(), ethiopianDate.EndOfFiscalYear.ToGregorianDate());
                string dateString = dr["RefNo"].ToString();
                lblIssDate.Text = dateString;
            }
            else
            {
                //dtRec = iss.GetTransactionByRefNo(dr["RefNo"].ToString(), Convert.ToInt32(cboStores.EditValue), dr["Date"].ToString());
                dtRec           = iss.GetTransactionByRefNo(dr["RefNo"].ToString(), Convert.ToDateTime(dr["Date"]));
                lblIssDate.Text = Convert.ToDateTime(dr["Date"]).ToString("MM dd,yyyy");
            }
            gridIssues.DataSource = dtRec;
        }
Beispiel #6
0
        private static void AddIssueLodDelete(IssueDoc iss)
        {
            IssueDocDeleted isdelete = new IssueDocDeleted();

            isdelete.AddNew();
            isdelete.ID              = iss.ID;
            isdelete.ItemID          = iss.ItemID;
            isdelete.StoreId         = iss.StoreId;
            isdelete.ReceivingUnitID = iss.ReceivingUnitID;
            isdelete.LocalBatchNo    = iss.LocalBatchNo;
            isdelete.Quantity        = iss.Quantity;
            isdelete.Date            = iss.Date;
            isdelete.IsTransfer      = iss.IsTransfer;
            isdelete.IssuedBy        = iss.IssuedBy;
            isdelete.Remark          = iss.Remark;
            isdelete.RefNo           = iss.RefNo;
            isdelete.BatchNo         = iss.BatchNo;
            isdelete.IsApproved      = iss.IsApproved;
            isdelete.Cost            = iss.Cost;
            isdelete.NoOfPack        = iss.NoOfPack;
            isdelete.QtyPerPack      = iss.QtyPerPack;
            isdelete.DUSOH           = iss.DUSOH;
            isdelete.EurDate         = iss.EurDate;
            isdelete.RecievDocID     = iss.RecievDocID;
            isdelete.RecomendedQty   = iss.RecomendedQty;
            isdelete.Save();
        }
Beispiel #7
0
        private void cboStores_EditValueChanged(object sender, EventArgs e)
        {
            if (cboStores.EditValue == null)
            {
                return;
            }
            var iss = new IssueDoc();
            //  var dtRec = iss.GetDistinctIssueDocments(Convert.ToInt32(cboStores.EditValue));
            UserCommodityType ucs = new UserCommodityType();
            DataTable         dt  = ucs.GetUserCommodityType(MainWindow.LoggedinId);

            int[] typeid = new int[dt.Rows.Count];
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                typeid[i] = Convert.ToInt32(dt.Rows[i]["ID"]);
            }
            var typeids = string.Join(",", typeid);
            var dtRec   = iss.GetDistinctIssueDocmentsUsers(Convert.ToInt32(cboStores.EditValue), typeids);

            lstTree.DataSource = dtRec;

            DateTime dt1 = EthiopianDate.EthiopianDate.Now.StartOfFiscalYear.ToGregorianDate();
            DateTime dt2 = DateTime.Now;

            dtRec                 = iss.GetTransactionByDateRange(Convert.ToInt32(cboStores.EditValue), dt1, dt2);
            lblIssDate.Text       = @"Current Year";
            gridIssues.DataSource = dtRec;
        }
 /// <summary>
 /// Returns the Issue summary by item by supplier.
 /// </summary>
 /// <param name="dtFrom">The dt from.</param>
 /// <param name="dtTo">The dt to.</param>
 /// <param name="storeTypeID">The store type ID.</param>
 /// <returns></returns>
 public static DataTable GetIssueBreakdownBySupplier(DateTime dtFrom, DateTime dtTo, int storeTypeID)
 {
     var query = HCMIS.Repository.Queries.IssueDoc.SelectGetIssueBreakdownBySupplier(dtFrom, dtTo, storeTypeID);
     IssueDoc id = new IssueDoc();
     id.LoadFromRawSql(query);
     return id.DataTable;
 }
 private void RefreshActivity(int days)
 {
     chartActivity.Series["Requested"].DataSource = Order.GetWishListSummary(days);
     chartActivity.Series["Cancelled"].DataSource = Order.GetOrdersForReport(OrderStatus.Constant.CANCELED, days);
     chartActivity.Series["Issued"].DataSource    = IssueDoc.GetIssueSummary(days);
     chartActivity.Series["Picklist"].DataSource  = PickList.GetPickListSummary(days);
 }
Beispiel #10
0
        private void cbYear_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBoxControl1.SelectedItem.ToString().Equals("Issued Amount by Year"))
            {
                IssuedAmoutByYear issuedAmoutByYearReport = new IssuedAmoutByYear(CurrentContext.LoggedInUserName);

                issuedAmoutByYearReport.DataSource   = IssueDoc.IssuedAmoutByYear(Convert.ToInt32(cbYear.SelectedItem), Convert.ToInt32(lkAccount.EditValue), Convert.ToBoolean(checbySellingPrice.Checked));
                issuedAmoutByYearReport.xrMonth.Text = string.Format("{0}", cbYear.SelectedItem);
                printControl1.PrintingSystem         = issuedAmoutByYearReport.PrintingSystem;
                report = issuedAmoutByYearReport;
                issuedAmoutByYearReport.CreateDocument();
            }
            else if (listBoxControl1.SelectedItem.ToString().Equals("Received Amount by Year"))
            {
                ReceivedAmoutByYear receivedAmountReport = new ReceivedAmoutByYear(CurrentContext.LoggedInUserName);

                receivedAmountReport.DataSource   = ReceiveDoc.ReceivedAmoutByYear(Convert.ToInt32(cbYear.SelectedItem), Convert.ToInt32(lkAccount.EditValue));
                receivedAmountReport.xrMonth.Text = string.Format("{0}", cbYear.SelectedItem);
                printControl1.PrintingSystem      = receivedAmountReport.PrintingSystem;
                report = receivedAmountReport;
                receivedAmountReport.CreateDocument();
            }
            else if (lkMode.EditValue != null && lkCategories.EditValue != null && cbMonth.SelectedItem != null && cbYear.SelectedItem != null && cbToYear.SelectedItem != null && cbToMonth.SelectedItem != null && listBoxControl1.SelectedItem.ToString().Equals("Vital Report"))
            {
                LadVitalItemReport();
            }
            else
            {
                cbMonth_SelectedIndexChanged(null, null);
            }
        }
 public static DataView CostOfSales(int ethiopianMonth, int ethiopianYear, int modeID)
 {
     IssueDoc issueDoc = new IssueDoc();
     string query =
         HCMIS.Repository.Queries.IssueDoc.SelectCostOfSales(ethiopianMonth, ethiopianYear, modeID);
     issueDoc.LoadFromRawSql(query);
     return issueDoc.DefaultView;
 }
Beispiel #12
0
        private static void DeletedRelatedModel(IssueDoc iss)
        {
            Model22 md = new Model22();

            md.Where.IssueDocID.Value = iss.ID;
            md.Query.Load();
            md.DeleteAll();
            md.Save();
        }
Beispiel #13
0
        public void PopulateItemListByDU(DataTable dtItem)
        {
            progressBar1.Visible = true;
            progressBar1.Minimum = 1;
            progressBar1.Value   = 1;
            progressBar1.Maximum = dtItem.Rows.Count;

            GeneralInfo pipline = new GeneralInfo();

            pipline.LoadAll();
            int min     = pipline.Min;
            int max     = pipline.Max;
            int storeId = (cboStores.SelectedValue != null) ? Convert.ToInt32(cboStores.SelectedValue) : 1;
            int duId    = Convert.ToInt32(cboIssuedTo.SelectedValue);

            lstItem.Items.Clear();
            int      col       = 0;
            int      count     = 1;
            Balance  bal       = new Balance();
            IssueDoc itmIssues = new IssueDoc();

            foreach (DataRow dr in dtItem.Rows)
            {
                int    itemId   = Convert.ToInt32(dr["ID"]);
                string itemName = dr["ItemName"].ToString() + " - " + dr["DosageForm"].ToString() + " - " + dr["Strength"].ToString();

                int   year = Convert.ToInt32(cboYear.SelectedItem);
                Int64 SOH  = bal.GetDUSOH(Convert.ToInt32(dr["ID"]), duId, dtCurrent.Month, year);

                int[] mon = { 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

                long[] cons = new long[12];
                for (int i = 0; i < mon.Length; i++)
                {
                    int yr = (mon[i] > 10) ? year - 1 : year;
                    cons[i] = itmIssues.GetDUConsumptionByMonth(itemId, duId, mon[i], yr);
                }
                string[]     str      = { count.ToString(), itemName, ((SOH != 0) ? SOH.ToString("#,###") : "0"), ((cons[0] != 0) ? cons[0].ToString("#,###") : "0"), ((cons[1] != 0) ? cons[1].ToString("#,###") : "0"), ((cons[2] != 0) ? cons[2].ToString("#,###") : "0"), ((cons[3] != 0) ? cons[3].ToString("#,###") : "0"), ((cons[4] != 0) ? cons[4].ToString("#,###") : "0"), ((cons[5] != 0) ? cons[5].ToString("#,###") : "0"), ((cons[6] != 0) ? cons[6].ToString("#,###") : "0"), ((cons[7] != 0) ? cons[7].ToString("#,###") : "0"), ((cons[8] != 0) ? cons[8].ToString("#,###") : "0"), ((cons[9] != 0) ? cons[9].ToString("#,###") : "0"), ((cons[10] != 0) ? cons[10].ToString("#,###") : "0"), ((cons[11] != 0) ? cons[11].ToString("#,###") : "0") };
                ListViewItem listItem = new ListViewItem(str);
                listItem.ToolTipText = itemName;
                listItem.Tag         = dr["ID"];
                if (col != 0)
                {
                    listItem.BackColor = Color.FromArgb(233, 247, 248);
                    col = 0;
                }
                else
                {
                    col++;
                }
                lstItem.Items.Add(listItem);
                count++;
                progressBar1.PerformStep();
            }
            progressBar1.Visible = false;
        }
Beispiel #14
0
        private void EditIssue_Load(object sender, EventArgs e)
        {
            Stores str = new Stores();

            str.LoadAll();
            cboStores.DataSource = str.DefaultView;

            ReceivingUnits rUnit = new ReceivingUnits();

            rUnit.GetActiveDispensaries();
            cboReceivingUnit.DataSource = rUnit.DefaultView;

            if (_tranId != 0)
            {
                IssueDoc iss = new IssueDoc();
                Items    itm = new Items();


                iss.LoadByPrimaryKey(_tranId);

                DataTable dtItm    = itm.GetItemById(iss.ItemID);
                string    itemName = dtItm.Rows[0]["ItemName"].ToString() + " - " + dtItm.Rows[0]["DosageForm"].ToString() + " - " + dtItm.Rows[0]["Strength"].ToString();

                txtRefNo.Text   = iss.RefNo;
                txtBatchNo.Text = iss.BatchNo;
                try
                {
                    txtPack.Text    = iss.NoOfPack.ToString();
                    txtQtyPack.Text = iss.QtyPerPack.ToString();
                    txtPrice.Text   = (iss.Cost * iss.QtyPerPack).ToString();
                }
                catch
                {
                    txtPack.Text    = "0";
                    txtQtyPack.Text = "0";
                    txtPrice.Text   = (iss.Cost * 1).ToString();
                }
                txtQuantity.Text = iss.Quantity.ToString();
                DateTime dtDate = Convert.ToDateTime(iss.Date.ToString("MM/dd/yyyy"));
                txtDate.Text = dtDate.ToShortDateString();
                //dtIssDate.Value = DateTime.Now;
                //dtIssDate.CustomFormat = "MM/dd/yyyy";
                //DateTime dtCurrent = Convert.ToDateTime(dtIssDate.Text);

                //long tic = (DateTime.Now.Ticks - dtCurrent.Ticks);
                //DateTime dtIssG = dtDate.AddTicks(tic);

                //dtIssDate.Value = dtIssG;
                cboStores.SelectedValue        = iss.StoreId;
                cboReceivingUnit.SelectedValue = iss.ReceivingUnitID;
                txtItemName.Text   = itemName;
                txtReceivedBy.Text = iss.IssuedBy;
                txtRemark.Text     = iss.Remark;
            }
        }
Beispiel #15
0
        internal void VoidIssueBasesdOnSTVID()
        {
            BLL.IssueDoc issDoc = new IssueDoc();
            issDoc.LoadBySTVID(_activeSTVID);

            while (!issDoc.EOF)
            {
                DeleteAnIssue(issDoc.ID);
                issDoc.MoveNext();
            }
        }
Beispiel #16
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            string valid = ValidateFields();

            if (valid == "true")
            {
                if (XtraMessageBox.Show("Are You Sure, You want to save this Transaction?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    IssueDoc   iss = new IssueDoc();
                    ReceiveDoc rec = new ReceiveDoc();

                    iss.LoadByPrimaryKey(_tranId);

                    string batchNo = iss.BatchNo;
                    Int64  qty     = iss.Quantity;
                    rec.GetTransactionByBatch(iss.ItemID, iss.BatchNo, iss.StoreId);

                    iss.RefNo           = txtRefNo.Text;
                    iss.BatchNo         = txtBatchNo.Text;
                    iss.NoOfPack        = Convert.ToInt32(txtPack.Text);
                    iss.QtyPerPack      = Convert.ToInt32(txtQtyPack.Text);
                    iss.Quantity        = Convert.ToInt32(txtPack.Text) * Convert.ToInt32(txtQtyPack.Text);
                    iss.StoreId         = Convert.ToInt32(cboStores.SelectedValue);
                    iss.ReceivingUnitID = Convert.ToInt32(cboReceivingUnit.SelectedValue);
                    iss.Remark          = txtRemark.Text;
                    iss.IssuedBy        = txtReceivedBy.Text;
                    iss.Save();

                    Int64 newQty = 0;
                    if (qty > iss.Quantity)
                    {
                        newQty = rec.QuantityLeft + (qty - iss.Quantity);
                    }
                    else
                    {
                        newQty = rec.QuantityLeft - (iss.Quantity - qty);
                    }

                    rec.QuantityLeft = newQty;
                    if (rec.QuantityLeft > 0)
                    {
                        rec.Out = false;
                    }
                    rec.Save();

                    XtraMessageBox.Show("Transaction Succsfully Saved!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
            }
            else
            {
                XtraMessageBox.Show(valid, "Validation", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }
Beispiel #17
0
        public void PopulateItemList(DataTable dtItem)
        {
            progressBar1.Visible = true;
            progressBar1.Minimum = 1;
            progressBar1.Value   = 1;
            progressBar1.Maximum = dtItem.Rows.Count;

            lstItem.Items.Clear();
            int col     = 0;
            int count   = 1;
            int storeId = (cboStores.SelectedValue != null) ? Convert.ToInt32(cboStores.SelectedValue) : 1;

            dtDate.Value        = DateTime.Now;
            dtDate.CustomFormat = "MM/dd/yyyy";
            DateTime dtCurrent = new DateTime();

            dtCurrent = ConvertDate.DateConverter(dtDate.Text);

            IssueDoc issues = new IssueDoc();

            foreach (DataRow dr in dtItem.Rows)
            {
                string   itemName = dr["ItemName"].ToString() + " - " + dr["DosageForm"].ToString() + " - " + dr["Strength"].ToString();
                Int64[]  obj      = new Int64[recId.Length];
                int      itemId   = Convert.ToInt32(dr["ID"]);
                string[] str      = new string[recId.Length + 2];
                str[0] = count.ToString();
                str[1] = itemName;
                for (int j = 0; j < recId.Length; j++)
                {
                    obj[j]     = issues.GetIssuedQuantityByReceivingUnit(itemId, storeId, recId[j], dtCurrent.Year);
                    str[j + 2] = (obj[j] != 0)?obj[j].ToString("#,###"): "0";
                }

                ListViewItem listItem = new ListViewItem(str);
                listItem.ToolTipText = itemName;
                listItem.Tag         = dr["ID"];
                if (col != 0)
                {
                    listItem.BackColor = Color.FromArgb(233, 247, 248);
                    col = 0;
                }
                else
                {
                    col++;
                }
                lstItem.Items.Add(listItem);
                count++;
                progressBar1.PerformStep();
            }
            progressBar1.Visible = false;
        }
        public static bool CheckOutStandingIssues(int warehouseID = 0)
        {
            Warehouse warehouse = new Warehouse();
            warehouse.LoadAll();

            string query =
                HCMIS.Repository.Queries.IssueDoc.SelectCheckOutStandingIssues(warehouseID, warehouse.RowCount,
                                                                               OrderStatus.Constant.ORDER_APPROVED,
                                                                               OrderStatus.Constant.ISSUED);
            IssueDoc issueDoc = new IssueDoc();
            issueDoc.LoadFromRawSql(query);
            return issueDoc.Getint("count") == 0;
        }
Beispiel #19
0
        private void dtTo_ValueChanged(object sender, EventArgs e)
        {
            //CALENDAR:
            IssueDoc iss = new IssueDoc();
            //dtFrom.CustomFormat = "MM/dd/yyyy";
            //dtTo.CustomFormat = "MM/dd/yyyy";

            //DateTime dteFrom = ConvertDate.DateConverter(dtFrom.Text);
            //DateTime dteTo = ConvertDate.DateConverter(dtTo.Text);

            //   DataTable dtRec = dtFrom.Value < dtTo.Value ? iss.GetTransactionByDateRange(Convert.ToInt32(cboStores.EditValue), dtFrom.Value, dtTo.Value) : iss.GetAllTransaction(Convert.ToInt32(cboStores.EditValue));
            // gridIssues.DataSource = dtRec;
        }
        /// <summary>
        /// Filters the STV log.
        /// </summary>
        private void FilterStvLog()
        {
            if (lkAccount.EditValue != null)
            {
                var iss = new IssueDoc();
                gridReferences.DataSource = lkRoute.EditValue == null?iss.GetDistinctIssueDocmentsForAccount(Convert.ToInt32(lkAccount.EditValue), chkDeliveryNotes.Checked) : iss.GetDistinctIssueDocmentsForAccountAndRoute(Convert.ToInt32(lkAccount.EditValue), Convert.ToInt32(lkRoute.EditValue), chkDeliveryNotes.Checked);

                // apply the filter
                txtFilterFacilityName_EditValueChanged(null, null);
                // show details of the first entry in the table
                // gridViewReferences_FocusedRowChanged(null, null);
            }
        }
        private void cboIssuedTo_EditValueChanged(object sender, EventArgs e)
        {
            if (cboIssuedTo.EditValue == null || cboStores.EditValue == null)
            {
                return;
            }

            IssueDoc iss = new IssueDoc();

            DataTable dtRec = iss.GetTransactionByReceivingUnit(Convert.ToInt32(cboStores.EditValue), Convert.ToInt32(cboIssuedTo.EditValue));

            gridIssues.DataSource = dtRec;
        }
Beispiel #22
0
 private void EditIssueDocRefrenceNo_Load(object sender, EventArgs e)
 {
     dtRecDate.Value        = DateTime.Now;
     dtRecDate.CustomFormat = "MM/dd/yyyy";
     if (_refno != null)
     {
         var iss = new IssueDoc();
         iss.GetTransactionByRefNo(_refno);
         DateTime dtDate = Convert.ToDateTime(iss.Date.ToString("MM/dd/yyyy"));
         txtDate.Text  = dtDate.ToShortDateString();
         txtRefNo.Text = iss.RefNo;
     }
 }
Beispiel #23
0
        private void toolStripMenuItem2_Click(object sender, EventArgs e)
        {
            var us     = new User();
            var userID = MainWindow.LoggedinId;

            us.LoadByPrimaryKey(userID);

            var dr = grdLogReceive.GetFocusedDataRow();

            if (dr == null)
            {
                return;
            }

            int tranId = Convert.ToInt32(dr["ID"]);
            var rec    = new ReceiveDoc();

            rec.LoadByPrimaryKey(tranId);
            var iss = new IssueDoc();

            iss.GetIssueByBatchAndId(rec.ItemID, rec.BatchNo, rec.ID);
            _dtDate.CustomFormat = "MM/dd/yyyy";
            DateTime dtCurrent = ConvertDate.DateConverter(_dtDate.Text);

            if ((rec.Date.Year != dtCurrent.Year && rec.Date.Month < 11) || (iss.RowCount != 0))
            {
                XtraMessageBox.Show("Unable to Delete, This Transaction has been processed. Try Loss and Adjustment.",
                                    "Unable to Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            }
            else
            {
                if (
                    XtraMessageBox.Show(
                        "Are You Sure, You want to delete this Transaction? You will not be able to restore this data.",
                        "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    //AddDeletedRecieveDoc(rec);
                    rec.MarkAsDeleted();
                    rec.Save();

                    _dtDate.Value        = DateTime.Now;
                    _dtDate.CustomFormat = "MM/dd/yyyy";
                    dtCurrent            = ConvertDate.DateConverter(_dtDate.Text);
                    int       yr    = ((dtCurrent.Month > 10) ? dtCurrent.Year : dtCurrent.Year - 1);
                    DateTime  dt1   = new DateTime(yr, 11, 1);
                    DateTime  dt2   = new DateTime(dtCurrent.Year, dtCurrent.Month, dtCurrent.Day);
                    DataTable dtRec = rec.GetTransactionByDateRange(Convert.ToInt32(cboStores.EditValue), dt1, dt2);
                    gridReceives.DataSource = dtRec;
                }
            }
        }
        private void gridViewMissingOrders_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            // disable all the buttons.
            DataRow dataRow = gridViewMissingOrders.GetFocusedDataRow();

            if (dataRow != null)
            {
                btnExport.Enabled = btnPrint.Enabled = btnReprint.Enabled = false;

                // now just show the details of the order
                IssueDoc issueDoc = new IssueDoc();
                issueDoc.LoadMissingByOrderID(Convert.ToInt32(dataRow["ID"]));
                gridTransactions.DataSource = issueDoc.DefaultView;
            }
        }
        private void cboStores_EditValueChanged(object sender, EventArgs e)
        {
            if (cboStores.EditValue == null)
            {
                return;
            }
            var iss   = new IssueDoc();
            var dtRec = iss.GetDistinctIssueDocments(Convert.ToInt32(cboStores.EditValue));

            lstTree.DataSource = dtRec;

            DateTime dt1 = EthiopianDate.EthiopianDate.Now.StartOfFiscalYear.ToGregorianDate();
            DateTime dt2 = DateTime.Now;

            dtRec                 = iss.GetTransactionByDateRange(Convert.ToInt32(cboStores.EditValue), dt1, dt2);
            lblIssDate.Text       = @"Current Year";
            gridIssues.DataSource = dtRec;
        }
Beispiel #26
0
        private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
            var us     = new User();
            var userID = MainWindow.LoggedinId;

            us.LoadByPrimaryKey(userID);
            var dr = grdLogReceive.GetFocusedDataRow();

            if (dr == null)
            {
                return;
            }

            //if (us.UserName != "admin")
            //{
            //    XtraMessageBox.Show("You don't have the privilege to update reference number!", "Caution");
            //    return;
            //}

            int tranId = Convert.ToInt32(dr["ID"]);
            var rec    = new ReceiveDoc();
            var iss    = new IssueDoc();
            var dis    = new Disposal();

            rec.LoadByPrimaryKey(tranId);
            iss.GetIssueByBatchAndId(rec.ItemID, rec.BatchNo, rec.ID);
            _dtDate.Value        = DateTime.Now;
            _dtDate.CustomFormat = "MM/dd/yyyy";

            //if (iss.RowCount == 0)
            //{
            if ((iss.RowCount != 0) && (iss.RecievDocID != null && iss.RecievDocID == rec.ID))
            {
                var edRec = new EditReceive(tranId, true, Convert.ToBoolean(chkIntDrugCode.EditValue));
                MainWindow.ShowForms(edRec);
            }
            //}
            else if (iss.RowCount == 0)
            {
                var edRec = new EditReceive(tranId, false, Convert.ToBoolean(chkIntDrugCode.EditValue));
                MainWindow.ShowForms(edRec);
            }
        }
Beispiel #27
0
        private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
            DataRow dr = grdLogIssue.GetFocusedDataRow();

            if (dr == null)
            {
                return;
            }

            int       tranId = Convert.ToInt32(dr["ID"]);
            EditIssue edRec  = new EditIssue(tranId);

            MainWindow.ShowForms(edRec);
            IssueDoc  iss   = new IssueDoc();
            DataTable dtRec = iss.GetAllTransaction(Convert.ToInt32(cboStores.EditValue));

            /*PopulateTransaction(dtRec);*/
            gridIssues.DataSource = dtRec;
        }
Beispiel #28
0
        private void printModel_Click(object sender, EventArgs e)
        {
            var dr = (DataRowView)lstTree.GetDataRecordByNode(lstTree.FocusedNode);

            if (dr == null)
            {
                return;
            }
            //lstTransactions.Items.Clear();
            var       iss        = new IssueDoc();
            DataTable dt         = iss.GetModel22ByRefNo(dr["RefNo"].ToString(), Convert.ToDateTime(dr["Date"]));
            var       issuedBy   = "";
            var       receivedBy = "";

            if (dt.Rows.Count > 0)
            {
                issuedBy   = (dt.Rows[0]["ModelIssuedBy"] != null) ? dt.Rows[0]["ModelIssuedBy"].ToString() : "";
                receivedBy = (dt.Rows[0]["RecipientName"] != null) ? dt.Rows[0]["RecipientName"].ToString() : "";
            }

            var modelprint = new PharmInventory.Reports.Model22
            {
                PrintedBy    = { Text = _printedby },
                xrStore      = { Text = cboStores.Text },
                xrIssuedBy   = { Text = issuedBy },
                xrReceivedBy = { Text = receivedBy }
            };

            var tbl1 = dt;

            tbl1.TableName = "Model22";

            var dtset = new DataSet();

            dtset.Tables.Add(tbl1.Copy());
            modelprint.DataSource = dtset;
            modelprint.Landscape  = true;
            //var pagecount = modelprint.Pages.Count;
            //XtraMessageBox.Show(string.Format("You are about to print {0} pages!", pagecount), "Success", MessageBoxButtons.OK,
            //                     MessageBoxIcon.Information);
            modelprint.ShowPreviewDialog();
        }
Beispiel #29
0
        private void cbMonth_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbMonth.SelectedItem != null && cbYear.SelectedItem != null && lkAccount.EditValue != null && listBoxControl1.SelectedItem.ToString().Equals("Issued Amount by Month"))
            {
                IssuedAmoutPerMonth issueAmountReport = new IssuedAmoutPerMonth(CurrentContext.LoggedInUserName);

                issueAmountReport.DataSource   = IssueDoc.IssueAmountByPaymentType(Convert.ToInt32(cbMonth.SelectedIndex + 1), Convert.ToInt32(cbYear.SelectedItem), Convert.ToInt32(lkAccount.EditValue), Convert.ToBoolean(checbySellingPrice.Checked));
                issueAmountReport.xrMonth.Text = string.Format("{0} {1}", cbMonth.SelectedItem, cbYear.SelectedItem);
                printControl1.PrintingSystem   = issueAmountReport.PrintingSystem;
                report = issueAmountReport;
                issueAmountReport.CreateDocument();
            }
            else if (cbMonth.SelectedItem != null && cbYear.SelectedItem != null && lkAccount.EditValue != null && listBoxControl1.SelectedItem.ToString().Equals("Received Amount by Month"))
            {
                ReceivedAmoutPerMonth receivedAmountReport = new ReceivedAmoutPerMonth(CurrentContext.LoggedInUserName);

                receivedAmountReport.DataSource   = ReceiveDoc.ReceivedAmountByReason(Convert.ToInt32(cbMonth.SelectedIndex + 1), Convert.ToInt32(cbYear.SelectedItem), Convert.ToInt32(lkAccount.EditValue));
                receivedAmountReport.xrMonth.Text = string.Format("{0} {1}", cbMonth.SelectedItem, cbYear.SelectedItem);
                printControl1.PrintingSystem      = receivedAmountReport.PrintingSystem;
                report = receivedAmountReport;
                receivedAmountReport.CreateDocument();
            }
            else if (cbMonth.SelectedItem != null && lkMode.EditValue != null && cbYear.SelectedItem != null && listBoxControl1.SelectedItem.ToString().Equals("Cost of Good Sold"))
            {
                CostOfGoodSold costOfGoodSold = new CostOfGoodSold(CurrentContext.LoggedInUserName);

                costOfGoodSold.DataSource = IssueDoc.CostOfSales(Convert.ToInt32(cbMonth.SelectedIndex + 1),
                                                                 Convert.ToInt32(cbYear.SelectedItem),
                                                                 Convert.ToInt32(lkMode.EditValue));

                costOfGoodSold.xrMonth.Text  = string.Format("{0} {1}", cbMonth.SelectedItem, cbYear.SelectedItem);
                printControl1.PrintingSystem = costOfGoodSold.PrintingSystem;
                report = costOfGoodSold;
                costOfGoodSold.CreateDocument();
            }
            else if (lkMode.EditValue != null && lkCategories.EditValue != null && cbMonth.SelectedItem != null && cbYear.SelectedItem != null && cbToYear.SelectedItem != null && cbToMonth.SelectedItem != null && listBoxControl1.SelectedItem.ToString().Equals("Vital Report"))
            {
                LadVitalItemReport();
            }
        }
        private void cboStores_EditValueChanged(object sender, EventArgs e)
        {
            if (cboStores.EditValue != null)
            {
                IssueDoc iss = new IssueDoc();
                //TODO: To be implemented

                // DataTable dtRec = iss.GetDistinctIssueDocments(Convert.ToInt32(cboStores.EditValue));
                // /*PopulateDocument(dtRec);*/lstTree.DataSource = dtRec;
                // DateTime dt1 = new DateTime();
                // DateTime dt2 = new DateTime();
                // CalendarLib.DateTimePickerEx dtDate = new CalendarLib.DateTimePickerEx();
                // dtDate.Value = DateTime.Now;
                // dtDate.CustomFormat = "MM/dd/yyyy";
                // DateTime dtCurrent = ConvertDate.DateConverter(dtDate.Text);
                // int yr = ((dtCurrent.Month > 10) ? dtCurrent.Year : dtCurrent.Year - 1);
                // dt1 = new DateTime(yr, 11, 1);
                // dt2 = new DateTime(dtCurrent.Year, dtCurrent.Month, dtCurrent.Day);
                // dtRec = iss.GetTransactionByDateRange(Convert.ToInt32(cboStores.EditValue), dt1, dt2);
                // lblIssDate.Text = "Current Year";
                //gridIssues.DataSource = dtRec;
            }
        }
        private void unconfirmedMenuClicked_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            DataRow dataRow = gridUnconfirmedView.GetFocusedDataRow();

            if (dataRow != null)
            {
                if (e.ClickedItem.Text == "Delete")
                {
                    if (DialogResult.Yes ==
                        XtraMessageBox.Show("Are you sure you would like to delete this?", "Confirmation",
                                            MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                    {
                        DeleteIssueDoc(Convert.ToInt32(dataRow["ID"]));
                        // Refresh it
                        gridViewReferences_FocusedRowChanged(null, null);
                        //XtraMessageBox.Show("Issue has been deleted");
                    }
                }
                else if (e.ClickedItem.Text == "Confirm")
                {
                    IssueDoc doc = new IssueDoc();
                    doc.LoadByPrimaryKey(Convert.ToInt32(dataRow["ID"]));

                    // do some validations
                    if (doc.IsColumnNull("STVID"))
                    {
                        doc.STVID = _stvLogIdChosen.Value;
                        doc.Save();
                    }

                    // refresh
                    XtraMessageBox.Show("You have confirmed the STV", "Confirmation", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    gridViewReferences_FocusedRowChanged(null, null);
                }
            }
        }
        private void BtnOutstandingTransactions_Click(object sender, EventArgs e)
        {
            var xreport = new OutstandingTransactions(CurrentContext.LoggedInUserName);
            var ds      = new DataSet();

            ds.Tables.Add(ReceiveDoc.GetOutstandingReceives());
            ds.Tables[0].TableName = "OutstandingReceives";
            ds.Tables.Add(IssueDoc.GetOutstandingIssues());
            ds.Tables[1].TableName = "OutstandingIssues";
            ds.Tables.Add(ReceiveDoc.GetOutstandingVoidRequestGRV());
            ds.Tables[2].TableName = "OutstandingGRVVoidRequest";
            ds.Tables.Add(IssueDoc.GetOutstandingRequestedVoidForInvoice());
            ds.Tables[3].TableName = "OutstandingInvoiceVoidRequest";
            ds.Tables.Add(IssueDoc.OutstandingIssuedDeliveryNote());
            ds.Tables[4].TableName = "OutstandingIssuedDeliveryNote";
            ds.Tables.Add(ReceiveDoc.GetOutstandingTransfer(ReceiptType.CONSTANTS.ACCOUNT_TO_ACCOUNT_TRANSFER));
            ds.Tables[5].TableName = "OutstandingAccountToAccountTransfer";
            ds.Tables.Add(ReceiveDoc.GetOutstandingTransfer(ReceiptType.CONSTANTS.STORE_TO_STORE_TRANSFER));
            ds.Tables[6].TableName = "OutstandingStoreToStoreTransfer";
            ds.Tables.Add(ReceiveDoc.GetOutstandingReceiveDeliveryNote());
            ds.Tables[7].TableName = "OutstandingReceivedDeliveryNote";
            xreport.DataSource     = ds;
            xreport.ShowPreview();
        }
Beispiel #33
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            var       isd  = new IssueDoc();
            DataTable dtbl = isd.GetTransactionByRefNo(_refno);

            if (isd.RowCount > 0)
            {
                foreach (DataRow datarow in dtbl.Rows)
                {
                    datarow["RefNo"] = txtRefNo.Text;
                    datarow["Date"]  = txtDate.Text;
                }
                isd.Save();
                Close();
                XtraMessageBox.Show("Refrence No and Date is successfully updated", "Success");
            }

            else
            {
                XtraMessageBox.Show("There is no refrence no to edit");
                return;
            }
            this.Close();
        }
        /// <summary>
        /// Tops the item receivers.
        /// </summary>
        /// <param name="itemID">The item ID.</param>
        /// <returns></returns>
        public static DataTable TopItemReceivers(int itemID)
        {
            IssueDoc issueDoc = new IssueDoc();
            var query = HCMIS.Repository.Queries.IssueDoc.SelectTopItemReceivers(itemID);

            issueDoc.LoadFromRawSql(query);
            return issueDoc.DataTable;
        }
Beispiel #35
0
        private void gridView4_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            DataRow dataRow = gridView4.GetFocusedDataRow();

            if (dataRow != null)
            {
                // do the thing here.
                gridTopItemReceivingFacilities.DataSource = chartControl1.Series[0].DataSource = IssueDoc.TopItemReceivers(Convert.ToInt32(dataRow["ID"]));
            }
        }
        public static DataView IssuedAmoutByYear(int ethiopianYear, int accountID, bool showBySellingPrice)
        {
            IssueDoc issueDoc = new IssueDoc();
            string query;
            if (showBySellingPrice)
            {
                query =
               HCMIS.Repository.Queries.IssueDoc.SelectIssuedAmoutByYearShowBySellingPrice(ethiopianYear, accountID);
            }
            else
            {
                query =
               HCMIS.Repository.Queries.IssueDoc.SelectIssuedAmoutByYear(ethiopianYear, accountID);
            }

            issueDoc.LoadFromRawSql(query);
            return issueDoc.DefaultView;
        }
 public static DataTable GetOutstandingRequestedVoidForInvoice(int warehouseID = 0)
 {
     string query =
         HCMIS.Repository.Queries.IssueDoc.SelectGetOutstandingRequestedVoidForInvoice(warehouseID, OrderStatus.Constant.ORDER_APPROVED, OrderStatus.Constant.ISSUED);
     IssueDoc issueDoc = new IssueDoc();
     issueDoc.LoadFromRawSql(query);
     return issueDoc.DataTable;
 }
 /// <summary>
 /// Returns issue summary Date against value
 /// </summary>
 /// <param name="days">For the past how many days (Enter -1 for all)</param>
 /// <returns></returns>
 public static object GetIssueSummary(int days)
 {
     //For use in the dashboard primarily
     string query;
     if (days == -1)
         query = HCMIS.Repository.Queries.IssueDoc.SelectGetIssueSummary();
     else
         query = HCMIS.Repository.Queries.IssueDoc.SelectGetIssueSummary(days);
     IssueDoc iss = new IssueDoc();
     iss.LoadFromRawSql(query);
     return iss.DefaultView;
 }
 /// <summary>
 /// Returns IssueDoc history for a receiving unit
 /// Columns: ID,Date(Converted to Ethiopian),Quantity,FullItemName
 /// </summary>
 /// <param name="receivingUnitID">The receiving unit ID.</param>
 /// <param name="startDate">In European Calendar</param>
 /// <param name="endDate">In European Calendar</param>
 /// <returns></returns>
 public static object GetIssueHistoryForFacility(int receivingUnitID, DateTime startDate, DateTime endDate)
 {
     var query = HCMIS.Repository.Queries.IssueDoc.SelectGetIssueHistoryForFacility(receivingUnitID, startDate, endDate);
     IssueDoc issD = new IssueDoc();
     issD.LoadFromRawSql(query);
     return DateTimeHelper.AddEthiopianDateField(issD).DefaultView;
 }
 public static DataTable OutstandingIssuedDeliveryNote(int warehouseID = 0)
 {
     string query =
         HCMIS.Repository.Queries.IssueDoc.SelectOutstandingIssuedDeliveryNote(warehouseID, OrderStatus.Constant.ORDER_APPROVED, OrderStatus.Constant.ISSUED);
     IssueDoc issueDoc = new IssueDoc();
     issueDoc.LoadFromRawSql(query);
     return issueDoc.DataTable;
 }
 public static void RecordDiscrepancy(Dictionary<int, decimal> _discrepancyIssueDoc)
 {
     foreach(int issueDocID in _discrepancyIssueDoc.Keys)
     {
         BLL.IssueDoc issueDoc = new IssueDoc();
         issueDoc.LoadByPrimaryKey(issueDocID);
         issueDoc.NoOfPackIssued = _discrepancyIssueDoc[issueDocID];
         issueDoc.Save();
     }
 }
        /// <summary>
        /// Saves the whole transaction for
        /// </summary>
        /// <param name="orderID">The order ID.</param>
        /// <param name="dvOutstandingPickList">The dv outstanding pick list.</param>
        /// <param name="remark">The remark.</param>
        /// <param name="issuedBy">The issued by.</param>
        /// <param name="etCurrentDate">The et current date.</param>
        /// <returns></returns>
        /// <exception cref="System.Exception"></exception>
        public static Order SaveIssueTransaction(int orderID, ref DataView dvOutstandingPickList, string remark, string issuedBy, DateTime etCurrentDate)
        {
            // Add the IssueDocID field
            dvOutstandingPickList.Table.Columns.Add("IssueDocID");
            PickList plst = new PickList();
            IssueDoc issDoc = new IssueDoc();
            ReceiveDoc recDoc = new ReceiveDoc();
            BLL.Order ord = new BLL.Order();
            ord.LoadByPrimaryKey(orderID);
            plst.LoadByOrderID(ord.ID);

            foreach (DataRowView drv in dvOutstandingPickList)
            {
                // Pseudo:
                // for each row in the picklist
                // undate the issue document
                // subtract the issued quantity from the receive doc
                // subtract the issued quantity from recieve pallet
                // subtract the issued the reserved quantity irregardless of the quantity issued.

                //Saving the new Issue issue
                if (Convert.ToDecimal(drv["BUPICKED"]) == 0)
                {
                    continue;

                }

                if (Convert.ToDecimal(drv["SKUPicked"]) != Convert.ToDecimal(drv["SKUTOPICK"]))
                {
                    drv["Cost"] = Convert.ToDecimal(drv["SKUPicked"]) * Convert.ToDecimal(drv["UnitPrice"]);
                }

                // Select the receive doc that is associated with this issue.
                recDoc.LoadByPrimaryKey(Convert.ToInt32(drv["ReceiveDocID"]));

                issDoc.AddNew();
                issDoc.StoreId = Convert.ToInt32(drv["StoreID"]);
                issDoc.RefNo = ord.RefNo;
                if (!ord.IsColumnNull("RequestedBy"))
                    issDoc.ReceivingUnitID = ord.RequestedBy;
                // TOFIX:
                // TODO:
                // Lord have mercy kind of hack to avoid the feb date problem
                // this needs to be fixed for pagume also
                issDoc.Date = etCurrentDate;
                issDoc.EurDate = DateTimeHelper.ServerDateTime;
                issDoc.RecievDocID = Convert.ToInt32(drv["ReceiveDocID"]);
                issDoc.IsApproved = true;
                issDoc.IsTransfer = false;
                issDoc.Remark = remark;
                issDoc.ItemID = Convert.ToInt32(drv["ItemID"]);
                issDoc.Quantity = Convert.ToDecimal(drv["BUPICKED"]);
                issDoc.NoOfPack = Convert.ToDecimal(drv["SKUPICKED"]);
                issDoc.QtyPerPack = Convert.ToInt32(drv["SKUBU"]);
                issDoc.BatchNo = drv["BatchNumber"].ToString();
                issDoc.UnitID = recDoc.UnitID;
                issDoc.ManufacturerID = recDoc.ManufacturerId;
                if (drv["Cost"] != DBNull.Value)
                {
                    issDoc.Cost = Convert.ToDouble(drv["Cost"]);

                    issDoc.SellingPrice = Convert.ToDecimal(drv["UnitPrice"]);
                    if (!recDoc.IsColumnNull("Cost"))
                    {
                        issDoc.UnitCost = Convert.ToDecimal(recDoc.Cost);
                    }
                }
                issDoc.OrderID = orderID;
                issDoc.IssuedBy = issuedBy;
                // TODO: is this the right place where we need to pick the physical store ID from?
                // check it against the receipt pallet physical store.
                if (!recDoc.IsColumnNull("PhysicalStoreID"))
                {
                    issDoc.PhysicalStoreID = recDoc.PhysicalStoreID;
                }
                if (!recDoc.IsColumnNull("InventoryPeriodID"))
                {
                    //Todo: Remove for Inventory
                    issDoc.InventoryPeriodID = recDoc.InventoryPeriodID;
                }
                if (!recDoc.IsColumnNull("Margin"))
                {
                    issDoc.Margin = (decimal)recDoc.Margin;
                }
                //Replaced by
                issDoc.PLDetailID = Convert.ToInt32(drv["PLDetailID"]);
                BLL.Balance bal = new Balance();
                BLL.ReceiveDoc rd = new ReceiveDoc();
                rd.LoadByPrimaryKey(issDoc.RecievDocID);
                decimal currentBalance = bal.GetSoh(issDoc.ItemID, rd.UnitID, issDoc.StoreId, issDoc.Date.Month, issDoc.Date.Year);
                if (currentBalance < issDoc.NoOfPack)
                {
                    throw new Exception(string.Format("The item {0} is not available in {1} Qty.", drv["FullItemName"].ToString(), issDoc.NoOfPack));
                }

                // This is a field that is not applicable on the hub edition
                // It is about the dispensing unit quantity and there is no such thing as Dispensing unit
                // in the hub edition
                issDoc.DUSOH = 0;
                issDoc.RecomendedQty = 0;// ((recQty > 0) ? Convert.ToInt64(recQty) : 0);
                // End DU
                issDoc.DispatchConfirmed = false;
                issDoc.Save();
                drv["IssueDocID"] = issDoc.ID;
                // updating the receiving doc

                //long prevQuantityLeft = recDoc.QuantityLeft;

                recDoc.QuantityLeft = recDoc.QuantityLeft - issDoc.Quantity;

                if (recDoc.QuantityLeft < 0)
                {
                    //Possibly the wrong ReceiveDoc Entry chosen
                    BLL.Item itm = new Item();
                    itm.LoadByPrimaryKey(recDoc.ItemID);
                    throw new Exception(string.Format("Quantity problem detected for the item {0}", itm.FullItemName));
                }
                //long
                recDoc.Out = (recDoc.QuantityLeft == 0) ? true : false;
                recDoc.Save();

                ReceivePallet rp = new ReceivePallet();
                int id = Convert.ToInt32(drv["ReceivePalletID"]);
                rp.LoadByPrimaryKey(id);
                if (rp.IsColumnNull("Balance"))
                {
                    rp.Balance = rp.ReceivedQuantity;
                }
                rp.Balance -= issDoc.Quantity;

                if (rp.Balance < 0)
                {
                    BLL.Item itm = new Item();
                    itm.LoadByPrimaryKey(recDoc.ItemID);
                    throw new Exception(string.Format("Quantity problem detected for the item {0}", itm.FullItemName));
                }

                decimal totReservedQty = Convert.ToDecimal(drv["QuantityInBU"]);

                if (rp.IsColumnNull("ReservedStock"))
                    rp.ReservedStock = 0;

                rp.ReservedStock -= totReservedQty;
                if (rp.ReservedStock < 0) //If there has been a quantity problem somewhere
                    rp.ReservedStock = 0;
                rp.Save();
            }
            plst.IsConfirmed = true;
            ord.ChangeStatus(OrderStatus.Constant.ISSUED, CurrentContext.UserId);
            plst.Save();
            ord.Save();
            return ord;
        }
        /// <summary>
        /// Gets the weekly transaction summary.
        /// </summary>
        /// <param name="days">-1 for all</param>
        /// <returns></returns>
        public static DataView GetWeeklyTransactionSummary(int days)
        {
            string query;
            if (days == -1)
                query = HCMIS.Repository.Queries.IssueDoc.SelectGetWeeklyTransactionSummary();
            else
                query = HCMIS.Repository.Queries.IssueDoc.SelectGetWeeklyTransactionSummary(days);

            IssueDoc issueDoc = new IssueDoc();
            issueDoc.LoadFromRawSql(query);
            return issueDoc.DefaultView;
        }
        public IssueDoc CreateIssueFromPicklist(PickListDetail picklistDetail,Order order,DateTime convertedEthDate,Issue stvLog,User user)
        {
            ReceivePallet receivePallet = new ReceivePallet();
            receivePallet.LoadByPrimaryKey(picklistDetail.ReceivePalletID);

            ReceiveDoc receiveDoc = new ReceiveDoc();
            receiveDoc.LoadByPrimaryKey(receivePallet.ReceiveID);

            IssueDoc issueDoc = new IssueDoc();
            issueDoc.AddNew();
            issueDoc.BatchNo = picklistDetail.BatchNumber;
            if(!picklistDetail.IsColumnNull("Cost"))
            issueDoc.Cost = picklistDetail.Cost;
            issueDoc.Date = convertedEthDate;
            issueDoc.EurDate = DateTimeHelper.ServerDateTime;
            issueDoc.StoreId = picklistDetail.StoreID;
            issueDoc.STVID = stvLog.ID;
            issueDoc.IsTransfer = true;
            issueDoc.IssuedBy = user.FullName;
            issueDoc.ItemID = picklistDetail.ItemID;
            issueDoc.NoOfPack = picklistDetail.Packs;
            issueDoc.QtyPerPack = picklistDetail.QtyPerPack;
            issueDoc.Quantity = picklistDetail.QuantityInBU;
            issueDoc.OrderID = order.ID;
            issueDoc.UnitID = receiveDoc.UnitID;
            issueDoc.ManufacturerID = receiveDoc.ManufacturerId;
            issueDoc.SetColumn("UnitCost" ,receiveDoc.GetColumn("Cost"));
            issueDoc.SetColumn("SellingPrice"  ,receiveDoc.GetColumn("SellingPrice"));
            issueDoc.SetColumn("Margin", receiveDoc.GetColumn("Margin"));
            issueDoc.SetColumn("PhysicalStoreID", receiveDoc.GetColumn("PhysicalStoreID"));
            issueDoc.PLDetailID = picklistDetail.ID;
            issueDoc.RecievDocID = picklistDetail.ReceiveDocID;
            issueDoc.SetColumn("InventoryPeriodID", receiveDoc.GetColumn("InventoryPeriodID"));
            // This is a deprecated field
            issueDoc.RecomendedQty = 0;// picklistDetail.Packs;
            issueDoc.RefNo = stvLog.IDPrinted.ToString();
            issueDoc.DispatchConfirmed = false;
            issueDoc.Save();

            //substract from QuantityLeft
            receiveDoc.QuantityLeft -= picklistDetail.QuantityInBU;
            if(receiveDoc.QuantityLeft < 0)
            {
                receiveDoc.QuantityLeft = 0;
            }
            receiveDoc.Save();

            receivePallet.Balance -= picklistDetail.QuantityInBU;
            if(receivePallet.Balance < 0)
            {
                receivePallet.Balance=0;
            }

            receivePallet.ReservedStock -= picklistDetail.Packs;
            if(receivePallet.ReservedStock < 0)
            {
                receivePallet.ReservedStock = 0;
            }
            receivePallet.Save();

            return issueDoc;
        }