コード例 #1
0
        public async Task <IActionResult> AddPODetail([FromBody] PODetails detail)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var detailId = await poDetail.AddDetailLine(detail);

                    if (detailId > 0)
                    {
                        return(Ok(detailId));
                    }
                    else
                    {
                        return(NotFound());
                    }
                }
                catch (Exception)
                {
                    return(BadRequest());
                }
            }

            return(BadRequest());
        }
コード例 #2
0
 public async Task UpdateDetailLine(PODetails detail)
 {
     if (_context != null)
     {
         _context.PODetail.Update(detail);
         await _context.SaveChangesAsync();
     }
 }
コード例 #3
0
        private Int64 SaveRecord()
        {
            PO clsPO = new PO();

            clsPO.GetConnection();
            lblPONo.Text = Constants.PURCHASE_ORDER_CODE + CompanyDetails.BECompanyCode + DateTime.Now.Year.ToString() + clsPO.LastTransactionNo();

            PODetails clsDetails = new PODetails();

            clsDetails.PONo                = lblPONo.Text;
            clsDetails.PODate              = Convert.ToDateTime(lblPODate.Text);
            clsDetails.SupplierID          = Convert.ToInt64(cboSupplier.SelectedItem.Value);
            clsDetails.SupplierCode        = cboSupplier.SelectedItem.Text;
            clsDetails.SupplierContact     = txtSupplierContact.Text;
            clsDetails.SupplierAddress     = txtSupplierAddress.Text;
            clsDetails.SupplierTelephoneNo = txtSupplierTelephoneNo.Text;
            clsDetails.SupplierTerms       = Convert.ToInt32(lblTerms.Text);
            clsDetails.SupplierTINNo       = txtSupplierTINNo.Text;
            clsDetails.SupplierLTONo       = txtSupplierLTONo.Text;
            switch (lblModeOfterms.Text)
            {
            case "Days":
                clsDetails.SupplierModeOfTerms = 0;
                break;

            case "Months":
                clsDetails.SupplierModeOfTerms = 1;
                break;

            case "Years":
                clsDetails.SupplierModeOfTerms = 2;
                break;
            }
            clsDetails.RequiredDeliveryDate = Convert.ToDateTime(txtRequiredDeliveryDate.Text);
            clsDetails.RID           = Convert.ToInt64(txtRID.Text);
            clsDetails.BranchID      = Convert.ToInt16(cboBranch.SelectedItem.Value);
            clsDetails.PurchaserID   = Convert.ToInt64(Session["UID"].ToString());
            clsDetails.PurchaserName = Session["Name"].ToString();
            clsDetails.Status        = POStatus.Open;
            clsDetails.Remarks       = txtRemarks.Text;

            bool boIsePurchaseOrder = bool.TryParse(lblIsePurchaseOrder.Text, out boIsePurchaseOrder) ? boIsePurchaseOrder : false;

            clsDetails.IncludeIneSales = boIsePurchaseOrder;

            Int64 id = clsPO.Insert(clsDetails);

            clsPO.CommitAndDispose();

            return(id);
        }
コード例 #4
0
        private void SaveRecord()
        {
            PODetails clsDetails = new PODetails();

            clsDetails.POID                = Convert.ToInt64(lblPOID.Text);
            clsDetails.PONo                = lblPONo.Text;
            clsDetails.PODate              = Convert.ToDateTime(lblPODate.Text);
            clsDetails.SupplierID          = Convert.ToInt64(cboSupplier.SelectedItem.Value);
            clsDetails.SupplierCode        = cboSupplier.SelectedItem.Text;
            clsDetails.SupplierContact     = txtSupplierContact.Text;
            clsDetails.SupplierAddress     = txtSupplierAddress.Text;
            clsDetails.SupplierTelephoneNo = txtSupplierTelephoneNo.Text;
            clsDetails.SupplierTINNo       = txtSupplierTINNo.Text;
            clsDetails.SupplierLTONo       = txtSupplierLTONo.Text;
            switch (lblModeOfterms.Text)
            {
            case "Days":
                clsDetails.SupplierModeOfTerms = 0;
                break;

            case "Months":
                clsDetails.SupplierModeOfTerms = 1;
                break;

            case "Years":
                clsDetails.SupplierModeOfTerms = 2;
                break;
            }
            clsDetails.RequiredDeliveryDate = Convert.ToDateTime(txtRequiredDeliveryDate.Text);
            clsDetails.RID           = Convert.ToInt64(txtRID.Text);
            clsDetails.BranchID      = Convert.ToInt16(cboBranch.SelectedItem.Value);
            clsDetails.PurchaserID   = Convert.ToInt64(Session["UID"].ToString());
            clsDetails.PurchaserName = Session["Name"].ToString();
            clsDetails.Status        = POStatus.Open;
            clsDetails.Remarks       = txtRemarks.Text;

            PO clsPO = new PO();

            clsPO.Update(clsDetails);
            clsPO.CommitAndDispose();
        }
コード例 #5
0
        public async Task <int> AddDetailLine(PODetails detail)
        {
            int idDetail = 0;

            try
            {
                if (_context != null)
                {
                    await _context.PODetail.AddAsync(detail);

                    await _context.SaveChangesAsync();

                    idDetail = detail.idPODetails;
                    return(idDetail);
                }
            }
            catch (Exception)
            {
            }

            return(idDetail);
        }
        public async Task <IActionResult> Index(List <int> numlist)
        {
            PurchaseOrder po          = new PurchaseOrder();
            var           itemContext = from m in _context.Item.Include(p => p.Cat) where m.Cat.Supplier1 == supplierId || m.Cat.Supplier2 == supplierId || m.Cat.Supplier3 == supplierId select m;

            try
            {
                po.SupplierId   = supplierId;
                po.PurchaseDate = DateTime.Now.Date;
                _context.Add(po);
                await _context.SaveChangesAsync();

                var pocontext = from m in _context.PurchaseOrder select m;
                List <PurchaseOrder> polist = await pocontext.ToListAsync();

                int PoId = polist[polist.Count - 1].PoId;

                foreach (string s in idlist)
                {
                    PODetails pods = new PODetails();
                    pods.ItemId     = s;
                    pods.Item       = itemContext.Where(p => p.ItemId == s).ToList().First();
                    pods.PoId       = PoId;
                    pods.QtyOrdered = numlist[idlist.IndexOf(s)];
                    _context.Add(pods);
                    _context.SaveChanges();
                }
            }
            catch (Exception e)
            {
                System.Console.Write(e.ToString());
                return(NotFound());
            }
            List <PODetails> podlist = new List <PODetails>();

            idlist   = new List <string>();
            IsPosted = true;
            return(RedirectToAction(nameof(ViewOrderHistory)));
        }
コード例 #7
0
        private void LoadRecord()
        {
            Int64     iID        = Convert.ToInt64(Common.Decrypt(Request.QueryString["poid"], Session.SessionID));
            PO        clsPO      = new PO();
            PODetails clsDetails = clsPO.Details(iID);

            clsPO.CommitAndDispose();

            lblPOID.Text   = clsDetails.POID.ToString();
            lblPONo.Text   = clsDetails.PONo;
            lblPODate.Text = clsDetails.PODate.ToString("yyyy-MM-dd HH:mm:ss");
            txtRequiredDeliveryDate.Text = clsDetails.RequiredDeliveryDate.ToString("yyyy-MM-dd");
            txtRID.Text = clsDetails.RID.ToString();
            cboSupplier.SelectedIndex   = cboSupplier.Items.IndexOf(cboSupplier.Items.FindByValue(clsDetails.SupplierID.ToString()));
            txtSupplierContact.Text     = clsDetails.SupplierContact;
            txtSupplierTelephoneNo.Text = clsDetails.SupplierTelephoneNo;
            txtSupplierTINNo.Text       = clsDetails.SupplierTINNo;
            txtSupplierLTONo.Text       = clsDetails.SupplierLTONo;
            lblTerms.Text = clsDetails.SupplierTerms.ToString("##0");
            switch (clsDetails.SupplierModeOfTerms)
            {
            case 0:
                lblModeOfterms.Text = "Days";
                break;

            case 1:
                lblModeOfterms.Text = "Months";
                break;

            case 2:
                lblModeOfterms.Text = "Years";
                break;
            }
            txtSupplierAddress.Text = clsDetails.SupplierAddress;
            cboBranch.SelectedIndex = cboBranch.Items.IndexOf(cboBranch.Items.FindByValue(clsDetails.BranchID.ToString()));
            txtBranchAddress.Text   = clsDetails.BranchAddress;
            txtRemarks.Text         = clsDetails.Remarks;
        }
コード例 #8
0
        private void LoadRecord()
        {
            Int64     iID        = Convert.ToInt64(Common.Decrypt(Request.QueryString["poid"], Session.SessionID));
            PO        clsPO      = new PO();
            PODetails clsDetails = clsPO.Details(iID);

            clsPO.CommitAndDispose();

            lblPOID.Text = clsDetails.POID.ToString();
            lblPONo.Text = clsDetails.PONo;
            ///lblPONo.NavigateUrl = "Default.aspx?task=" + Common.Encrypt("details", Session.SessionID) + "&poid=" + Common.Encrypt(clsDetails.POID.ToString(), Session.SessionID);

            lblPODate.Text = clsDetails.PODate.ToString("yyyy-MM-dd HH:mm:ss");
            lblRequiredDeliveryDate.Text = clsDetails.RequiredDeliveryDate.ToString("yyyy-MM-dd");
            lblSupplierID.Text           = clsDetails.SupplierID.ToString();

            lblSupplierCode.Text = clsDetails.SupplierCode.ToString();
            string stParam = "?task=" + Common.Encrypt("details", Session.SessionID) + "&id=" + Common.Encrypt(clsDetails.SupplierID.ToString(), Session.SessionID);

            lblSupplierCode.NavigateUrl = "../_Vendor/Default.aspx" + stParam;

            lblSupplierContact.Text     = clsDetails.SupplierContact;
            lblSupplierTelephoneNo.Text = clsDetails.SupplierTelephoneNo;
            lblTerms.Text = clsDetails.SupplierTerms.ToString("##0");
            switch (clsDetails.SupplierModeOfTerms)
            {
            case 0:
                lblModeOfterms.Text = "Days";
                break;

            case 1:
                lblModeOfterms.Text = "Months";
                break;

            case 2:
                lblModeOfterms.Text = "Years";
                break;
            }
            lblSupplierAddress.Text = clsDetails.SupplierAddress;
            lblBranchID.Text        = clsDetails.BranchID.ToString();
            lblBranchCode.Text      = clsDetails.BranchCode;
            lblBranchAddress.Text   = clsDetails.BranchAddress;
            lblPORemarks.Text       = clsDetails.Remarks;

            txtPODiscountApplied.Text       = clsDetails.DiscountApplied.ToString("###0.#0");
            cboPODiscountType.SelectedIndex = cboPODiscountType.Items.IndexOf(cboPODiscountType.Items.FindByValue(clsDetails.DiscountType.ToString("d")));
            lblPODiscount.Text     = clsDetails.Discount.ToString("#,##0.#0");
            lblTotalDiscount1.Text = Convert.ToDecimal(clsDetails.SubTotal + clsDetails.Discount + clsDetails.Discount2 + clsDetails.Discount3).ToString("#,##0.#0");

            txtPODiscount2Applied.Text       = clsDetails.Discount2Applied.ToString("###0.#0");
            cboPODiscount2Type.SelectedIndex = cboPODiscount2Type.Items.IndexOf(cboPODiscount2Type.Items.FindByValue(clsDetails.Discount2Type.ToString("d")));
            lblPODiscount2.Text    = clsDetails.Discount2.ToString("#,##0.#0");
            lblTotalDiscount2.Text = Convert.ToDecimal(clsDetails.SubTotal + clsDetails.Discount2 + clsDetails.Discount3).ToString("#,##0.#0");

            txtPODiscount3Applied.Text       = clsDetails.Discount3Applied.ToString("###0.#0");
            cboPODiscount3Type.SelectedIndex = cboPODiscount3Type.Items.IndexOf(cboPODiscountType.Items.FindByValue(clsDetails.Discount3Type.ToString("d")));
            lblPODiscount3.Text    = clsDetails.Discount3.ToString("#,##0.#0");
            lblTotalDiscount3.Text = Convert.ToDecimal(clsDetails.SubTotal + clsDetails.Discount3).ToString("#,##0.#0");

            lblPOVatableAmount.Text   = clsDetails.VatableAmount.ToString("#,##0.#0");
            txtPOFreight.Text         = clsDetails.Freight.ToString("#,##0.#0");
            txtPODeposit.Text         = clsDetails.Deposit.ToString("#,##0.#0");
            lblPOVAT.Text             = clsDetails.VAT.ToString("#,##0.#0");
            chkIsVatInclusive.Checked = clsDetails.IsVatInclusive;
            if (clsDetails.IsVatInclusive)
            {
                lblPOSubTotal.Text = Convert.ToDecimal(clsDetails.SubTotal - clsDetails.VAT).ToString("#,##0.#0");
                lblPOTotal.Text    = clsDetails.SubTotal.ToString("#,##0.#0");
            }
            else
            {
                lblPOSubTotal.Text = clsDetails.SubTotal.ToString("#,##0.#0");
                lblPOTotal.Text    = Convert.ToDecimal(clsDetails.SubTotal + clsDetails.VAT).ToString("#,##0.#0");
            }
        }
コード例 #9
0
        private void ExportPO2File()
        {
            DataClass clsDataClass = new DataClass();

            PO        clsPO        = new PO();
            PODetails clsPODetails = clsPO.Details(long.Parse(lblPOID.Text));

            POItem    clsPOItem  = new POItem(clsPO.Connection, clsPO.Transaction);
            DataTable dtaPOItems = clsPOItem.ListAsDataTable(clsPODetails.POID, null, SortOption.Ascending);

            //Contact clsContact = new Contact(clsStock.Connection, clsStock.Transaction);
            //ContactDetails clsPODetails = clsContact.Details(clsPODetails.SupplierID);

            Products       clsProduct = new Products(clsPO.Connection, clsPO.Transaction);
            ProductDetails clsProductDetails;

            ProductVariations clsProductVariation = new ProductVariations(clsPO.Connection, clsPO.Transaction);
            DataTable         dtaProductVariation;

            ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(clsPO.Connection, clsPO.Transaction);
            DataTable dtaProductVariationsMatrix;

            string        xmlFileName = Server.MapPath(@"\RetailPlus\temp\" + lblBranchCode.Text.Replace(" ", "").Trim() + "_" + clsPODetails.PONo + "_" + clsPODetails.PODate.ToString("yyyyMMddHHmmssffff") + ".xml");
            XmlTextWriter writer      = new XmlTextWriter(xmlFileName, System.Text.Encoding.UTF8);

            writer.Formatting = Formatting.Indented;
            writer.WriteStartDocument();
            writer.WriteComment("This file represents the Purchase Order Details of PO No: '" + clsPODetails.PONo + "' for " + lblBranchCode.Text + " branch.");
            writer.WriteComment("Save this in your local file. Goto 'File', click 'Save As', select the location in your local directory, click 'Save'.");
            writer.WriteStartElement("PODetails");
            writer.WriteAttributeString("POID", XmlConvert.ToString(clsPODetails.POID));
            writer.WriteAttributeString("PONo", clsPODetails.PONo);
            writer.WriteAttributeString("PODate", clsPODetails.PODate.ToString("MM/dd/yyyy HH:mm:ss"));

            /******Supplier information******/
            writer.WriteAttributeString("SupplierID", XmlConvert.ToString(clsPODetails.SupplierID));
            writer.WriteAttributeString("SupplierCode", clsPODetails.SupplierCode);
            writer.WriteAttributeString("SupplierContact", clsPODetails.SupplierContact);
            writer.WriteAttributeString("SupplierAddress", clsPODetails.SupplierAddress);
            writer.WriteAttributeString("SupplierTelephoneNo", clsPODetails.SupplierTelephoneNo);
            writer.WriteAttributeString("SupplierModeOfTerms", XmlConvert.ToString(clsPODetails.SupplierModeOfTerms));
            writer.WriteAttributeString("SupplierTerms", XmlConvert.ToString(clsPODetails.SupplierTerms));
            /******End Of Supplier Information******/

            writer.WriteAttributeString("RequiredDeliveryDate", clsPODetails.RequiredDeliveryDate.ToString("MM/dd/yyyy HH:mm:ss"));

            /******Branch & Purchaser Information******/
            writer.WriteAttributeString("BranchID", XmlConvert.ToString(clsPODetails.BranchID));
            writer.WriteAttributeString("BranchCode", clsPODetails.BranchCode);
            writer.WriteAttributeString("BranchName", clsPODetails.BranchName);
            writer.WriteAttributeString("BranchAddress", clsPODetails.BranchAddress);
            writer.WriteAttributeString("PurchaserID", clsPODetails.PurchaserID.ToString());
            writer.WriteAttributeString("PurchaserName", clsPODetails.PurchaserName);
            /******End Of Branch & Purchaser Information******/

            /******Amount Information******/
            writer.WriteAttributeString("SubTotal", XmlConvert.ToString(clsPODetails.SubTotal));
            writer.WriteAttributeString("Discount", XmlConvert.ToString(clsPODetails.Discount));
            writer.WriteAttributeString("DiscountApplied", XmlConvert.ToString(clsPODetails.DiscountApplied));
            writer.WriteAttributeString("DiscountType", clsPODetails.DiscountType.ToString("d"));
            writer.WriteAttributeString("VAT", XmlConvert.ToString(clsPODetails.VAT));
            writer.WriteAttributeString("VatableAmount", XmlConvert.ToString(clsPODetails.VatableAmount));
            writer.WriteAttributeString("EVAT", XmlConvert.ToString(clsPODetails.EVAT));
            writer.WriteAttributeString("EVatableAmount", XmlConvert.ToString(clsPODetails.EVatableAmount));
            writer.WriteAttributeString("LocalTax", XmlConvert.ToString(clsPODetails.LocalTax));
            writer.WriteAttributeString("Freight", XmlConvert.ToString(clsPODetails.Freight));
            writer.WriteAttributeString("Deposit", XmlConvert.ToString(clsPODetails.Deposit));
            writer.WriteAttributeString("UnpaidAmount", XmlConvert.ToString(clsPODetails.UnpaidAmount));
            writer.WriteAttributeString("PaidAmount", XmlConvert.ToString(clsPODetails.PaidAmount));
            writer.WriteAttributeString("TotalItemDiscount", XmlConvert.ToString(clsPODetails.TotalItemDiscount));
            writer.WriteAttributeString("Status", clsPODetails.Status.ToString("d"));
            writer.WriteAttributeString("Remarks", clsPODetails.Remarks);
            writer.WriteAttributeString("SupplierDRNo", clsPODetails.SupplierDRNo);
            writer.WriteAttributeString("DeliveryDate", clsPODetails.DeliveryDate.ToString("MM/dd/yyyy HH:mm:ss"));
            writer.WriteAttributeString("CancelledDate", clsPODetails.CancelledDate.ToString("MM/dd/yyyy HH:mm:ss"));
            writer.WriteAttributeString("CancelledRemarks", clsPODetails.CancelledRemarks);
            writer.WriteAttributeString("CancelledByID", XmlConvert.ToString(clsPODetails.CancelledByID));
            /******End Of Branch Information******/

            foreach (DataRow row in dtaPOItems.Rows)
            {
                clsProductDetails = new ProductDetails();
                clsProductDetails = clsProduct.Details(Convert.ToInt64(row["ProductID"].ToString()));

                writer.WriteStartElement("POItem");
                writer.WriteAttributeString("POItemID", row["POItemID"].ToString());
                writer.WriteAttributeString("POID", row["POID"].ToString());
                writer.WriteAttributeString("ProductID", row["ProductID"].ToString());

                /*****Product Information*****/
                writer.WriteAttributeString("ProductCode", clsProductDetails.ProductCode);
                writer.WriteAttributeString("BarCode", clsProductDetails.BarCode);
                writer.WriteAttributeString("ProductDesc", clsProductDetails.ProductDesc);
                writer.WriteAttributeString("MatrixDescription", row["MatrixDescription"].ToString());
                writer.WriteAttributeString("ProductSubGroupID", clsProductDetails.ProductSubGroupID.ToString());
                writer.WriteAttributeString("ProductSubGroupCode", clsProductDetails.ProductSubGroupCode);
                writer.WriteAttributeString("ProductSubGroupName", clsProductDetails.ProductSubGroupName);
                writer.WriteAttributeString("ProductGroupID", clsProductDetails.ProductGroupID.ToString());
                writer.WriteAttributeString("ProductGroupCode", clsProductDetails.ProductGroupCode);
                writer.WriteAttributeString("ProductGroupName", clsProductDetails.ProductGroupName);
                writer.WriteAttributeString("BaseUnitID", clsProductDetails.BaseUnitID.ToString());
                writer.WriteAttributeString("ProductUnitCode", clsProductDetails.BaseUnitCode);
                writer.WriteAttributeString("ProductUnitName", clsProductDetails.BaseUnitName);
                writer.WriteAttributeString("DateCreated", clsProductDetails.DateCreated.ToString("MM/dd/yy HH:mm:ss"));
                writer.WriteAttributeString("Deleted", clsProductDetails.Deleted.ToString());
                writer.WriteAttributeString("Price", clsProductDetails.Price.ToString());
                writer.WriteAttributeString("PurchasePrice", clsProductDetails.PurchasePrice.ToString());
                writer.WriteAttributeString("IncludeInSubtotalDiscount", clsProductDetails.IncludeInSubtotalDiscount.ToString());
                writer.WriteAttributeString("VAT", clsProductDetails.VAT.ToString());
                writer.WriteAttributeString("EVAT", clsProductDetails.EVAT.ToString());
                writer.WriteAttributeString("LocalTax", clsProductDetails.LocalTax.ToString());
                writer.WriteAttributeString("Quantity", clsProductDetails.Quantity.ToString());
                writer.WriteAttributeString("MinThreshold", clsProductDetails.MinThreshold.ToString());
                writer.WriteAttributeString("MaxThreshold", clsProductDetails.MaxThreshold.ToString());
                writer.WriteAttributeString("IsItemSold", clsProductDetails.IsItemSold.ToString());
                writer.WriteAttributeString("Active", clsProductDetails.Active.ToString());
                writer.WriteAttributeString("PercentageCommision", clsProductDetails.PercentageCommision.ToString());
                /*****End Of Product Information*****/

                writer.WriteAttributeString("ItemVariationMatrixID", row["VariationMatrixID"].ToString());
                writer.WriteAttributeString("ItemBaseVariationDescription", row["MatrixDescription"].ToString());
                writer.WriteAttributeString("ItemProductUnitID", row["ProductUnitID"].ToString());
                writer.WriteAttributeString("ItemUnitCode", row["ProductUnitCode"].ToString());
                writer.WriteAttributeString("isVATInclusive", row["isVATInclusive"].ToString());
                writer.WriteAttributeString("POItemStatus", row["POItemStatus"].ToString());
                writer.WriteAttributeString("IsVatable", row["IsVatable"].ToString());
                writer.WriteAttributeString("SellingPrice", row["SellingPrice"].ToString());
                writer.WriteAttributeString("SellingVAT", row["SellingVAT"].ToString());
                writer.WriteAttributeString("SellingEVAT", row["SellingEVAT"].ToString());
                writer.WriteAttributeString("SellingLocalTax", row["SellingLocalTax"].ToString());
                writer.WriteAttributeString("OldSellingPrice", row["OldSellingPrice"].ToString());

                dtaProductVariation = clsProductVariation.ListAsDataTable(clsProductDetails.ProductID, null, System.Data.SqlClient.SortOrder.Ascending);
                foreach (DataRow rowVariation in dtaProductVariation.Rows)
                {
                    writer.WriteStartElement("Variation", null);
                    writer.WriteAttributeString("VariationCode", rowVariation["VariationCode"].ToString());
                    writer.WriteAttributeString("VariationType", rowVariation["VariationType"].ToString());
                    writer.WriteEndElement();
                }

                dtaProductVariationsMatrix = clsProductVariationsMatrix.ProductVariationsMatrixListAsDataTable(long.Parse(row["VariationMatrixID"].ToString()), null, System.Data.SqlClient.SortOrder.Ascending);
                foreach (DataRow rowVariationsMatrix in dtaProductVariationsMatrix.Rows)
                {
                    writer.WriteStartElement("VariationMatrix", null);
                    writer.WriteAttributeString("MatriXID", rowVariationsMatrix["MatriXID"].ToString());
                    writer.WriteAttributeString("VariationID", rowVariationsMatrix["VariationID"].ToString());
                    writer.WriteAttributeString("Description", rowVariationsMatrix["Description"].ToString());
                    writer.WriteAttributeString("VariationCode", rowVariationsMatrix["VariationCode"].ToString());
                    writer.WriteAttributeString("VariationType", rowVariationsMatrix["VariationType"].ToString());
                    writer.WriteEndElement();
                }

                writer.WriteEndElement();
            }

            writer.WriteEndElement();

            //Write the XML to file and close the writer
            writer.Flush();
            writer.Close();

            clsPO.CommitAndDispose();

            string stScript = "<Script>";

            stScript += "window.open('/RetailPlus/temp/" + lblBranchCode.Text.Replace(" ", "").Trim() + "_" + clsPODetails.PONo + "_" + clsPODetails.PODate.ToString("yyyyMMddHHmmssffff") + ".xml')";
            stScript += "</Script>";
            Response.Write(stScript);
        }
コード例 #10
0
        // GET: Get the view of the order list within chosen supplier.
        public async Task <IActionResult> Index(string searchString, [FromQuery(Name = "btn")] string button, string id, [FromQuery(Name = "sup")] string sup)
        {
            if (HttpContext.User.Identity.IsAuthenticated && (HttpContext.User.IsInRole("clerk") || HttpContext.User.IsInRole("manager") || HttpContext.User.IsInRole("supervisor")))
            {
                #region logic code
                if (HttpContext.User.Identity.IsAuthenticated)
                {
                    string s = HttpContext.User.Identity.ToString();
                }

                if (snamelist.Count == 0)
                {
                    IQueryable <string> genreQuery = from m in _context.Supplier select m.SupplierName;
                    snamelist = await genreQuery.Distinct().ToListAsync();
                }
                var           userContext = from m in _context.MyUser select m;
                List <MyUser> mlist       = await userContext.ToListAsync();

                if (!string.IsNullOrEmpty(sup))
                {
                    var      supcontext1 = from m in _context.Supplier where m.SupplierName == sup select m;
                    Supplier su1         = supcontext1.ToList().First();
                    if (su1.SupplierId != supplierId)
                    {
                        supplierId = su1.SupplierId;
                        IsChanged  = true;
                    }

                    var      supcontext = from m in _context.Supplier where m.SupplierName == sup select m;
                    Supplier su         = supcontext.ToList().First();
                    if (snamelist[0] != su.SupplierName)
                    {
                        snamelist[snamelist.IndexOf(su.SupplierName)] = snamelist[0];
                        snamelist[0] = su.SupplierName;
                    }
                }
                var sSISContext = from m in _context.Podetails.Include(p => p.Item).Include(p => p.Po) select m;
                var itemContext = from m in _context.Item.Include(p => p.Cat) where m.Cat.Supplier1 == supplierId || m.Cat.Supplier2 == supplierId || m.Cat.Supplier3 == supplierId select m;
                var rds         = from m in _context.RequestDetails.Include(p => p.Request) where m.Type == "Preorder" select m;
                var cats        = from m in _context.Category.Include(p => p.Supplier1Navigation).Include(p => p.Supplier2Navigation).Include(p => p.Supplier3Navigation).Include(p => p.Item) select m;

                List <int>            numlist    = new List <int>();
                List <int>            reoderlist = new List <int>();
                List <PODetails>      podlist    = new List <PODetails>();
                List <RequestDetails> rdlist     = await rds.ToListAsync();

                if (!IsChanged)
                {
                    if (!IsPosted)
                    {
                        if (!string.IsNullOrEmpty(id))
                        {
                            if (idlist.Count > 0)
                            {
                                if (idlist.IndexOf(id) == -1)
                                {
                                    idlist.Add(id);
                                }
                            }
                            else
                            {
                                idlist.Add(id);
                            }
                        }
                        if (idlist.Count > 0)
                        {
                            foreach (string s in idlist)
                            {
                                PODetails pods = new PODetails();
                                int       qty  = 0;
                                pods.ItemId = s;
                                pods.Item   = itemContext.Where(p => p.ItemId == s).ToList().First();
                                if (pods.Item.Stock < pods.Item.ReorderLvl)
                                {
                                    qty += (int)pods.Item.ReorderQty;
                                }
                                List <string> suplist = new List <string>();
                                podlist.Add(pods);
                            }
                        }
                    }
                    else
                    {
                        IsPosted = false;
                    }
                }
                else
                {
                    idlist    = new List <string>();
                    IsChanged = false;
                }

                if (!String.IsNullOrEmpty(searchString))
                {
                    itemContext = itemContext.Where(a => a.ItemName.Contains(searchString));
                }
                if (podlist.Count != 0)
                {
                    foreach (PODetails pod in podlist)
                    {
                        int total = 0;
                        foreach (RequestDetails rd in rdlist)
                        {
                            if (rd.ItemId == pod.ItemId)
                            {
                                total += rd.RequestedQty;
                            }
                        }
                        numlist.Add(total);
                        if (pod.Item.ReorderLvl != null && pod.Item.ReorderQty != null)
                        {
                            reoderlist.Add(total + (int)pod.Item.Stock < (int)pod.Item.ReorderLvl ? (int)pod.Item.ReorderQty : 0);
                        }
                        else
                        {
                            reoderlist.Add(0);
                        }
                    }
                }
                List <Item> ilist = await itemContext.ToListAsync();

                var podVM = new RaiseOrderViewModel
                {
                    pods         = podlist,
                    podetails    = podlist,
                    items        = ilist,
                    preorderNums = numlist,
                    orderNums    = reoderlist,
                    supplierList = new SelectList(snamelist),
                    Suplist      = sup,
                    SearchString = searchString
                };
                return(View(podVM));

                #endregion
            }
            return(NotFound());
        }