public InventoryOrderDetail AddInventoryOrderDetail(RepeaterItem rptrItem, int inventoryID) { try { InventoryOrderDetail orderDetail = new InventoryOrderDetail(); orderDetail.CreatedBy = currentUserName; orderDetail.CreatedDate = DateTime.Now.Date; orderDetail.InventoryOrderID = inventoryID; orderDetail.InventoryTypeID = Convert.ToInt32(((HiddenField)rptrItem.FindControl("rptrhdnItemID")).Value); orderDetail.IsActive = true; orderDetail.PurchaseRate = Convert.ToDecimal(((Label)rptrItem.FindControl("lblPurchaseRate")).Text); orderDetail.Quantity = Convert.ToInt32(((Label)rptrItem.FindControl("lblQuantity")).Text); orderDetail.SaleRate = Convert.ToDecimal(((Label)rptrItem.FindControl("lblSellingRate")).Text); orderDetail.TotalItemsCost = Convert.ToDecimal(((Label)rptrItem.FindControl("lblTotalAmount")).Text); orderDetail.VatNo = ((Label)rptrItem.FindControl("lblVAT")).Text; context.InventoryOrderDetails.Add(orderDetail); context.SaveChanges(); return(orderDetail); } catch (Exception) { throw; } }
protected void btnUpdateInventory_Click(object sender, EventArgs e) { try { if (rptrData.Items.Count > 0) { using (TransactionScope scope = new TransactionScope()) { string PurchaseOrderIDObj = Request.QueryString[Constants.queryPurchaseOrderID]; if (!string.IsNullOrEmpty(PurchaseOrderIDObj)) { int PurchaseOrderID = Convert.ToInt32(PurchaseOrderIDObj); if (PurchaseOrderID > 0) { var PurchaseOrderCollection = context.InventoryOrders.Where(x => x.InventoryOrderID == PurchaseOrderID); if (PurchaseOrderCollection.Count() > 0) { InventoryOrder itemOrder = AddItemOrder(PurchaseOrderCollection.FirstOrDefault()); foreach (RepeaterItem rptrItem in rptrData.Items) { if (rptrItem.Visible) { //For bulk purchase each item detail int orderDetailID = Convert.ToInt32(((HiddenField)rptrItem.FindControl("rptrhdnOrderDetailID")).Value); if (orderDetailID > 0) { var invOrderDetailCollection = context.InventoryOrderDetails.Where(x => x.InventoryOrderDetailID == orderDetailID); if (invOrderDetailCollection.Count() > 0) { Database.InventoryOrderDetail orderDetail = invOrderDetailCollection.FirstOrDefault(); orderDetail.ModifiedBy = currentUserName; orderDetail.ModifiedDate = DateTime.Now.Date; orderDetail.InventoryOrderID = itemOrder.InventoryOrderID; orderDetail.InventoryTypeID = Convert.ToInt32(((HiddenField)rptrItem.FindControl("rptrhdnItemID")).Value); orderDetail.IsActive = true; orderDetail.PurchaseRate = Convert.ToDecimal(((Label)rptrItem.FindControl("lblPurchaseRate")).Text); //To add or substract inventory in inventory table int?oldQuantity = orderDetail.Quantity; orderDetail.Quantity = Convert.ToInt32(((Label)rptrItem.FindControl("lblQuantity")).Text); orderDetail.SaleRate = Convert.ToDecimal(((Label)rptrItem.FindControl("lblSellingRate")).Text); orderDetail.TotalItemsCost = Convert.ToDecimal(((Label)rptrItem.FindControl("lblTotalAmount")).Text); orderDetail.VatNo = ((Label)rptrItem.FindControl("lblVAT")).Text; context.SaveChanges(); //For company inventory detail var inventoryCollection = context.InventoryTypes.Where(x => x.InventoryTypeId == orderDetail.InventoryTypeID); if (inventoryCollection.Count() > 0) { var inventory = inventoryCollection.SingleOrDefault(); //substract old quantity and add new quantity inventory.InventoryCount = inventory.InventoryCount - oldQuantity + orderDetail.Quantity; inventory.PurchaseRate = orderDetail.PurchaseRate; inventory.SellingRate = orderDetail.SaleRate; inventory.VAT = orderDetail.VatNo; inventory.ModifiedBy = currentUserName; inventory.ModifiedDate = DateTime.Now.Date; inventory.IsActive = true; context.SaveChanges(); } } else { InventoryOrderDetail orderDetail = AddInventoryOrderDetail(rptrItem, itemOrder.InventoryOrderID); //If user add extra items in previous order var inventoryCollection = context.InventoryTypes.Where(x => x.InventoryTypeId == orderDetail.InventoryTypeID); if (inventoryCollection.Count() > 0) { var inventory = inventoryCollection.SingleOrDefault(); inventory.InventoryCount += orderDetail.Quantity; inventory.PurchaseRate = orderDetail.PurchaseRate; inventory.SellingRate = orderDetail.SaleRate; inventory.VAT = orderDetail.VatNo; inventory.ModifiedBy = currentUserName; inventory.ModifiedDate = DateTime.Now.Date; inventory.IsActive = true; context.SaveChanges(); } } } } else { //For deleted item int orderDetailID = Convert.ToInt32(((HiddenField)rptrItem.FindControl("rptrhdnOrderDetailID")).Value); if (orderDetailID > 0) { //it means item deleted from existing order var invOrderDetailCollection = context.InventoryOrderDetails.Where(x => x.InventoryOrderDetailID == orderDetailID); if (invOrderDetailCollection.Count() > 0) { Database.InventoryOrderDetail orderDetail = invOrderDetailCollection.FirstOrDefault(); orderDetail.ModifiedBy = currentUserName; orderDetail.ModifiedDate = DateTime.Now.Date; orderDetail.IsActive = false; context.SaveChanges(); //For company inventory detail var inventoryCollection = context.InventoryTypes.Where(x => x.InventoryTypeId == orderDetail.InventoryTypeID); if (inventoryCollection.Count() > 0) { var inventory = inventoryCollection.SingleOrDefault(); //substract quantity as we delete order Detail inventory.InventoryCount = inventory.InventoryCount - orderDetail.Quantity; inventory.ModifiedBy = currentUserName; inventory.ModifiedDate = DateTime.Now.Date; context.SaveChanges(); } } } } } lblMessage.Text = "Record Updated sucessfully"; lblMessage.ForeColor = Color.Green; scope.Complete(); } } } } } else { lblMessage.Text = "Atleast One Record Item Should Be There"; lblMessage.ForeColor = Color.Red; } } catch (Exception ex) { Helper.LogError(ex); lblMessage.Text = "Something went Wrong kindly check log"; lblMessage.ForeColor = Color.Red; } }
protected void btnAddInventoryOrders_Click(object sender, EventArgs e) { try { if (rptrData.Items.Count > 0) { using (TransactionScope scope = new TransactionScope()) { InventoryOrder itemOrder = new InventoryOrder(); itemOrder.AmountPaid = txtPaidAmount.Text == "" ? 0 : Convert.ToDecimal(txtPaidAmount.Text); itemOrder.AmountPaidDate = txtAmountPaidDate.Text == "" ? DateTime.Now.Date : Convert.ToDateTime(txtAmountPaidDate.Text); itemOrder.BillDate = txtBillDate.Text == "" ? DateTime.Now.Date : Convert.ToDateTime(txtBillDate.Text); itemOrder.CreatedBy = currentUserName; itemOrder.CreatedDate = DateTime.Now.Date; itemOrder.CustomerTypeID = Convert.ToInt32(ddlCustomerType.SelectedValue); itemOrder.IsActive = true; itemOrder.IsCompleted = chkOrderComplete.Checked; itemOrder.OwnBillNo = txtOwnBillNo.Text; itemOrder.PurchaseBillNo = txtPurchaseBillNO.Text; itemOrder.PurchaseDate = txtPurchaseDate.Text == "" ? DateTime.Now.Date : Convert.ToDateTime(txtPurchaseDate.Text); itemOrder.Remarks = txtDetails.Text; itemOrder.SellerID = txtSellerID.Text == "" ? 0 : Convert.ToInt32(txtSellerID.Text); itemOrder.TotalOrderAmount = txtTotalOrderAmount.Text == "" ? 0 : Convert.ToDecimal(txtTotalOrderAmount.Text); itemOrder.BalanceAmount = itemOrder.TotalOrderAmount - itemOrder.AmountPaid; context.InventoryOrders.Add(itemOrder); context.SaveChanges(); foreach (RepeaterItem rptrItem in rptrData.Items) { if (rptrItem.Visible) { //For bulk purchase each item detail InventoryOrderDetail orderDetail = new InventoryOrderDetail(); orderDetail.CreatedBy = currentUserName; orderDetail.CreatedDate = DateTime.Now.Date; orderDetail.InventoryOrderID = itemOrder.InventoryOrderID; orderDetail.InventoryTypeID = Convert.ToInt32(((HiddenField)rptrItem.FindControl("rptrhdnItemID")).Value); orderDetail.IsActive = true; orderDetail.PurchaseRate = Convert.ToDecimal(((Label)rptrItem.FindControl("lblPurchaseRate")).Text); orderDetail.Quantity = Convert.ToInt32(((Label)rptrItem.FindControl("lblQuantity")).Text); orderDetail.SaleRate = Convert.ToDecimal(((Label)rptrItem.FindControl("lblSellingRate")).Text); orderDetail.TotalItemsCost = Convert.ToDecimal(((Label)rptrItem.FindControl("lblTotalAmount")).Text); orderDetail.VatNo = ((Label)rptrItem.FindControl("lblVAT")).Text; context.InventoryOrderDetails.Add(orderDetail); context.SaveChanges(); //For company inventory detail var inventoryCollection = context.InventoryTypes.Where(x => x.InventoryTypeId == orderDetail.InventoryTypeID); if (inventoryCollection.Count() > 0) { var inventory = inventoryCollection.SingleOrDefault(); var existingCount = inventory.InventoryCount == null ? 0 : inventory.InventoryCount; inventory.InventoryCount = existingCount + orderDetail.Quantity; inventory.PurchaseRate = orderDetail.PurchaseRate; inventory.SellingRate = orderDetail.SaleRate; inventory.VAT = orderDetail.VatNo; inventory.ModifiedBy = currentUserName; inventory.ModifiedDate = DateTime.Now.Date; inventory.IsActive = true; context.SaveChanges(); } else { lblMessage.Text = "One of the Record Item Should not select proper items"; lblMessage.ForeColor = Color.Red; return; } } } //Value is set from javascript of autocomplete //string companyIDObj = hdnCompanyID.Value; //if(! string.IsNullOrEmpty(companyIDObj)) //{ // int sellerID = Convert.ToInt32(companyIDObj); // var sellerCollection = context.Sellers.Where(x => x.SellerID == sellerID); // if(sellerCollection.Count()>0) // { // Database.Seller seller = sellerCollection.First(); // string paidAmtobj = txtPaidAmount.Text; // seller.Balance += txtPaidAmount.Text == "" ? 0 : Convert.ToInt32(); // } //} lblMessage.Text = "Record Inserted sucessfully"; lblMessage.ForeColor = Color.Green; ClearForm(); BindDefault(); scope.Complete(); } } else { lblMessage.Text = "Atleast One Record Item Should Be There"; lblMessage.ForeColor = Color.Red; } } catch (Exception ex) { Helper.LogError(ex); lblMessage.Text = "Something went Wrong kindly check log"; lblMessage.ForeColor = Color.Red; } }