public ActionResult Create(Stock stock) { try { using (var db = new ApplicationDbContext()) { var data = db.Stocks.Where(a => a.Id == stock.Id).FirstOrDefault(); StockHelper.GerCurrentPrice(stock); if (stock.Id == 0 || data == null) { db.Stocks.Add(stock); } else { data.StockCode = stock.StockCode; data.StockName = stock.StockName; data.Category = stock.Category; data.CurrentPrice = stock.CurrentPrice; } db.SaveChanges(); return(Json("done")); } } catch (Exception ex) { return(Json(ex.Message)); } }
private void btnNew_Click(object sender, EventArgs e) { int targetStore = (int)lueTargetStore.EditValue; int sourceStore = (int)lueSourceStore.EditValue; stockDetailDropdown.DataSource = StockHelper.GetStoreStocks(targetStore).Where(x => x.STOCKDETAIL_QUANTITY > 0); StockMaster stockMaster2 = new StockMaster() { STOCKMASTER_TARGETSTORE_ID = targetStore, STOCKMASTER_SOURCESTORE_ID = sourceStore, STOCKMASTER_TYPE_ID = StaticTypes.Entry, }; dbContext.StockMaster.Add(stockMaster2); dbContext.SaveChanges(); StockMaster stockMaster = new StockMaster() { STOCKMASTER_TARGETSTORE_ID = targetStore, STOCKMASTER_SOURCESTORE_ID = sourceStore, STOCKMASTER_TYPE_ID = StaticTypes.Output, STOCKMASTER_REF_ID = stockMaster2.ID, STOCKMASTER_REF_LINK = "StockMaster" }; dbContext.StockMaster.Add(stockMaster); dbContext.SaveChanges(); _stockMasterId = stockMaster.ID; _stockMasterIdEntry = stockMaster2.ID; lueTargetStore.Enabled = false; lueSourceStore.Enabled = false; gControlDetail.Enabled = true; }
private void Form_Closed(object sender, FormClosedEventArgs e) { if (transferList == null) { return; } var demandMaster = dbContext.ItemDemandMaster.Find(_itemDemandMasterId); foreach (var item in transferList) { var existStockDetail = StockHelper.GetBarcodeStocks(item.BarcodeId); var stockDetail = new StockDetail(); stockDetail.STOCKDETAIL_BARCODE_ID = item.BarcodeId; stockDetail.STOCKDETAIL_MASTER_ID = _stockMasterId; stockDetail.STOCKDETAIL_STORE_ID = existStockDetail.STOCKDETAIL_STORE_ID; stockDetail.STOCKDETAIL_ITEM_ID = existStockDetail.STOCKDETAIL_ITEM_ID; stockDetail.STOCKDETAIL_RACK_ID = existStockDetail.STOCKDETAIL_RACK_ID; stockDetail.STOCKDETAIL_QUANTITY = Convert.ToDouble(item.Quantity) * -1; dbContext.StockDetail.Add(stockDetail); dbContext.SaveChanges(); var stockDetailSecond = new StockDetail(); stockDetailSecond.STOCKDETAIL_BARCODE_ID = item.BarcodeId; stockDetailSecond.STOCKDETAIL_MASTER_ID = _stockMasterId; stockDetailSecond.STOCKDETAIL_STORE_ID = demandMaster.Project.Company.COMPANY_STORE_ID.Value; stockDetailSecond.STOCKDETAIL_ITEM_ID = existStockDetail.STOCKDETAIL_ITEM_ID; stockDetailSecond.STOCKDETAIL_RACK_ID = existStockDetail.STOCKDETAIL_RACK_ID; stockDetailSecond.STOCKDETAIL_QUANTITY = Convert.ToDouble(item.Quantity); stockDetailSecond.STOCKDETAIL_REF_ID = stockDetail.ID; dbContext.StockDetail.Add(stockDetailSecond); dbContext.SaveChanges(); } LoadData(); transferList.Clear(); }
protected async override Task EliminarElemento() { await ApiProcessor.DeleteApi($"JornalMaterial/{JornalMaterial.Id}"); StockHelper.AgregarStock(JornalMaterial.MaterialId, JornalMaterial.CantidadUsado); await Inicializar(); }
private void btnGetReport_Click(object sender, EventArgs e) { if (validationResult() == true) { if (lueItem.EditValue != null) { if (lueItem.EditValue != "") { stockDetailBindingSource.DataSource = StockHelper.GetItemStocksDetail((int)lueItem.EditValue); } } if (lueStore.EditValue != null) { if (lueStore.EditValue != "") { stockDetailBindingSource.DataSource = StockHelper.GetStoreStocksDetail((int)lueStore.EditValue); } } if (lueItem.EditValue == null && lueStore.EditValue == null) { if (lueItem.EditValue == "" && lueStore.EditValue == "") { stockDetailBindingSource.DataSource = StockHelper.GetItemStocksDetailAll(); } } } }
public ActionResult UploadFile(HttpPostedFileBase file, int manualId = 0) { Manuales m = manuales.GetInfoManual(manualId); StockHelper stock = new StockHelper(); FTPHelper ftp = new FTPHelper(); int outValue; string extension = Path.GetExtension(file.FileName).ToLower(); string NV = string.Empty; //string archivo = ""; bool result = false; if (file == null && manualId == 0) { return(Redirect(Url.Action("FileRegistration", "Manuales", new { id = manualId }))); } NV = stock.Renombre(); NV = NV + extension; m.NombreDoc = file.FileName; m.NombreVirtual = NV; //file.SaveAs(Server.MapPath("~/signalr/Manuales/Manuales" + archivo)); m.FActualizacion = DateTime.Now; manuales.InsertManual(m, out outValue); result = ftp.FTPSubir(NV, file); return(Redirect(Url.Action("FileRegistration", "Manuales", new { id = manualId }))); }
private string GetUrl(string token, int pageSize, int currentPage, string code, string order) { int market = (int)StockHelper.GetMarket(code); var randomNumber = new Random().Next(11111, 99999); var randomNumber2 = new Random().Next(100000, 999999); string parameters = $"dtype=all&token={token}&rows={pageSize}&cb=jQuery17205063938445283711_15374580{randomNumber}&page={currentPage}&id={code}{market}>volume=&sort={order}&_=1537458{randomNumber2}"; return(_url + parameters); }
private void btnSave_Click(object sender, EventArgs e) { int targetStore = (int)lueTargetStore.EditValue; int sourceStore = (int)lueSourceStore.EditValue; string stockDetail = (string)lueStockDetail.EditValue; double quantity = Convert.ToDouble(txtQuantity.EditValue == "" ? 0 : txtQuantity.EditValue); if (_stockDetailId == 0) { var selectedStock = StockHelper.GetBarcodeStocks(stockDetail); StockDetail entryDetail = new StockDetail() { STOCKDETAIL_ITEM_ID = selectedStock.STOCKDETAIL_ITEM_ID, STOCKDETAIL_RACK_ID = selectedStock.STOCKDETAIL_RACK_ID, STOCKDETAIL_BARCODE_ID = selectedStock.STOCKDETAIL_BARCODE_ID, STOCKDETAIL_STORE_ID = sourceStore, STOCKDETAIL_QUANTITY = quantity, STOCKDETAIL_MASTER_ID = _stockMasterIdEntry, }; dbContext.StockDetail.Add(entryDetail); dbContext.SaveChanges(); dbContext.StockDetail.Add(new StockDetail { STOCKDETAIL_ITEM_ID = selectedStock.STOCKDETAIL_ITEM_ID, STOCKDETAIL_RACK_ID = selectedStock.STOCKDETAIL_RACK_ID, STOCKDETAIL_BARCODE_ID = selectedStock.STOCKDETAIL_BARCODE_ID, STOCKDETAIL_STORE_ID = targetStore, STOCKDETAIL_QUANTITY = quantity * -1, STOCKDETAIL_MASTER_ID = _stockMasterId, STOCKDETAIL_REF_ID = entryDetail.ID, STOCKDETAIL_REF_LINK = "StockDetail" }); } else { StockDetail existStockDetail = dbContext.StockDetail.Find(_stockDetailId); existStockDetail.STOCKDETAIL_ITEM_ID = existStockDetail.STOCKDETAIL_ITEM_ID; existStockDetail.STOCKDETAIL_RACK_ID = existStockDetail.STOCKDETAIL_RACK_ID; existStockDetail.STOCKDETAIL_BARCODE_ID = existStockDetail.STOCKDETAIL_BARCODE_ID; existStockDetail.STOCKDETAIL_STORE_ID = targetStore; existStockDetail.STOCKDETAIL_QUANTITY = quantity; existStockDetail.STOCKDETAIL_MASTER_ID = _stockMasterId; StockDetail existStockDetail2 = dbContext.StockDetail.SingleOrDefault(x => x.ID == existStockDetail.STOCKDETAIL_REF_ID); existStockDetail2.STOCKDETAIL_QUANTITY = quantity * -1; existStockDetail2.STOCKDETAIL_ITEM_ID = existStockDetail.STOCKDETAIL_ITEM_ID; existStockDetail2.STOCKDETAIL_RACK_ID = existStockDetail.STOCKDETAIL_RACK_ID; existStockDetail2.STOCKDETAIL_BARCODE_ID = existStockDetail.STOCKDETAIL_BARCODE_ID; existStockDetail2.STOCKDETAIL_STORE_ID = targetStore; existStockDetail2.STOCKDETAIL_MASTER_ID = _stockMasterId; _stockDetailId = 0; } dbContext.SaveChanges(); lueStockDetail.EditValue = ""; txtQuantity.Text = ""; LoadData(); }
private void LoadData() { foreach (var entity in dbContext.ChangeTracker.Entries()) { entity.Reload(); } var itemIds = dbContext.ItemDemandDetail.Where(x => x.ITEMDEMANDDETAIL_MASTER_ID == _itemDemandMasterId).Select(x => x.ITEMDEMANDDETAIL_ITEM_ID).ToList(); stockDetailBindingSource.DataSource = StockHelper.GetItemsStocksDetail(itemIds); }
private void LoadData() { foreach (var entity in dbContext.ChangeTracker.Entries()) { entity.Reload(); } var project = dbContext.Project.Find(_projectId); activeStockDetailBindingSource.DataSource = StockHelper.GetStoreStocks(project.Company.COMPANY_STORE_ID.Value); stockDetailBindingSource.DataSource = dbContext.StockDetail.Where(x => x.STOCKDETAIL_MASTER_ID == _stockMasterId).ToList(); }
private static async Task HandleMovementsChanges(IReadOnlyList <ArticleMovement> changes) { Console.WriteLine(changes.Count + " Change(s) Received"); var movementsByLocation = StockHelper.GroupInboundOutboundStock(changes); var tasks = movementsByLocation .Select(InventoryService.CalculateInventoryOnStorageLocations) .ToList(); await Task.WhenAll(tasks); }
private void btnSave_Click(object sender, EventArgs e) { if (validationResult() == true) { var demandMaster = dbContext.ItemDemandMaster.Find(_itemDemandMasterId); double quantity = Convert.ToDouble(txtQuantity.EditValue == "" ? 0 : txtQuantity.EditValue); if (_stockDetailId == 0) { string barcode = BarcodeHelper.BarcodeVerify(txtBarcode.EditValue.ToString()); var barcodeStockDetail = StockHelper.GetBarcodeStocksWithStore(barcode, (int)lueStore.EditValue); if (barcodeStockDetail == null) { MessageBox.Show("Ürün Bulunamadı !"); txtBarcode.EditValue = ""; txtBarcode.Focus(); return; } var stockDetail = new StockDetail(); stockDetail.STOCKDETAIL_BARCODE_ID = barcode; stockDetail.STOCKDETAIL_MASTER_ID = _stockMasterId; stockDetail.STOCKDETAIL_STORE_ID = (int)lueStore.EditValue; stockDetail.STOCKDETAIL_ITEM_ID = barcodeStockDetail.STOCKDETAIL_ITEM_ID; stockDetail.STOCKDETAIL_RACK_ID = barcodeStockDetail.STOCKDETAIL_RACK_ID; stockDetail.STOCKDETAIL_QUANTITY = quantity * -1; dbContext.StockDetail.Add(stockDetail); dbContext.SaveChanges(); var stockDetailSecond = new StockDetail(); stockDetailSecond.STOCKDETAIL_BARCODE_ID = barcode; stockDetailSecond.STOCKDETAIL_MASTER_ID = _stockMasterId; stockDetailSecond.STOCKDETAIL_STORE_ID = demandMaster.Project.Company.COMPANY_STORE_ID.Value; stockDetailSecond.STOCKDETAIL_ITEM_ID = barcodeStockDetail.STOCKDETAIL_ITEM_ID; stockDetailSecond.STOCKDETAIL_RACK_ID = barcodeStockDetail.STOCKDETAIL_RACK_ID; stockDetailSecond.STOCKDETAIL_QUANTITY = quantity; stockDetailSecond.STOCKDETAIL_PRIVATEVALUE1 = string.IsNullOrEmpty(txtCableStart.Text) ? 0 : (double)txtCableStart.EditValue; stockDetailSecond.STOCKDETAIL_PRIVATEVALUE2 = string.IsNullOrEmpty(txtCableEnd.Text) ? 0 : (double)txtCableEnd.EditValue; stockDetailSecond.STOCKDETAIL_REF_ID = stockDetail.ID; dbContext.StockDetail.Add(stockDetailSecond); dbContext.SaveChanges(); } else { var existStockDetail = dbContext.StockDetail.FirstOrDefault(x => x.ID == _stockDetailId); existStockDetail.STOCKDETAIL_QUANTITY = quantity * -1; var existStockDetailSecond = dbContext.StockDetail.FirstOrDefault(x => x.STOCKDETAIL_REF_ID == _stockDetailId); existStockDetailSecond.STOCKDETAIL_QUANTITY = quantity; existStockDetailSecond.STOCKDETAIL_PRIVATEVALUE1 = string.IsNullOrEmpty(txtCableStart.Text) ? 0 : (double)txtCableStart.EditValue; existStockDetailSecond.STOCKDETAIL_PRIVATEVALUE2 = string.IsNullOrEmpty(txtCableEnd.Text) ? 0 : (double)txtCableEnd.EditValue; dbContext.SaveChanges(); } ClearControl(); } }
public async Task <IActionResult> Sell(int id, int sellAmount) { User user = HttpContext.Items["user"] as User; var q = from s in _context.Stock where s.id == id select s; Stock stock = q.Single(); if (stock.userId == user.id) { int newAmount = stock.count - sellAmount; await StockHelper.UpdateStock(id, newAmount, _context); } return(RedirectToAction("Index")); }
public IDictionary <string, Warehouse> GetWarehouses(string stock) { Dictionary <string, Warehouse> res = new Dictionary <string, Warehouse>(); try { var materialName = StockHelper.GetMaterialName(stock); var materialId = StockHelper.GetMaterialID(stock); var warehouses = StockHelper.GetWarehouses(stock); foreach (var item in warehouses) { Material tmpMaterial = new Material(); tmpMaterial.Name = materialName; tmpMaterial.MaterialId = materialId; var warehouseName = StockHelper.GetWarehouseName(item); var materialAmount = StockHelper.GetMaterialAmount(item); Warehouse tmpWarehouse = new Warehouse(); tmpWarehouse.Name = warehouseName; int amount; bool success = int.TryParse(materialAmount, out amount); if (success) { tmpMaterial.Amount = amount; } else { throw new Exception(); } tmpWarehouse.Materials = new List <Material>() { tmpMaterial }; res.Add(tmpWarehouse.Name, tmpWarehouse); } } catch (Exception ex) { Console.Write(ex); } return(res); }
public ActionResult StockList() { try { StockHelper.UpdateCurrentPrice(); using (var db = new ApplicationDbContext()) { var list = db.Stocks.Where(a => !a.IsDelete).ToList(); return(View(list)); } } catch (Exception e) { return(RedirectToAction("index", "Home")); } }
private async void GenerarComprobante() { if (Retencion >= 0 && IVA >= 0 && Descuento >= 0 && Percepcion >= 0 && Subtotal > 0 && Retencion >= 0 && (!TieneProv || Comprobante.Proveedor != null)) { var ultimoComprobante = await ApiProcessor.GetApi <int>("ComprobanteCompra/GetUltimo"); Comprobante.Recargos = Recargos; Comprobante.Descuento = Descuento; Comprobante.Iva = IVA; Comprobante.Monto = Subtotal; if (Comprobante.Obra != null) { Comprobante.ObraId = Comprobante.Obra.Id; } Comprobante.Percepciones = Percepcion; Comprobante.Retenciones = Retencion; if (TieneProv) { Comprobante.ProveedorId = Comprobante.Proveedor.Id; Comprobante.cuit = Comprobante.Proveedor.Cuit; } else { Comprobante.ProveedorId = null; Comprobante.cuit = Cuit; } Comprobante.Pagado = false; Comprobante.NumeroCompra = ultimoComprobante; Comprobante.EstaEliminado = false; regionManager.RequestNavigate("Contenido", "Compra"); await ApiProcessor.PostApi(Comprobante, "ComprobanteCompra/Insert"); foreach (var i in DetallesComprobante) { StockHelper.AgregarStock(i.MaterialId, Cantidad); await ApiProcessor.PostApi <DetalleComprobanteDto>(i, "DetalleComprobante/Insert"); } MessageBox.Show("Carga de materiales exitosa"); } else { MessageBox.Show("Faltan ingresar datos"); } }
public async Task <IHttpActionResult> GetStockPrice(int id) { Stock stock = await Db.Stocks.FindAsync(id); if (stock == null) { return(NotFound()); } var price = await StockHelper.GetStockPrice(stock.Ticker); if (price < 0) { return(NotFound()); } return(Ok(price)); }
private void btnSave_Click(object sender, EventArgs e) { if (validationResult() == true) { var project = dbContext.Project.Find(_projectId); var enterStockDetail = dbContext.StockDetail.Where(x => x.STOCKDETAIL_BARCODE_ID == lueActiveStockDetail.EditValue.ToString() && x.STOCKDETAIL_STORE_ID == project.Company.COMPANY_STORE_ID.Value && x.STOCKDETAIL_QUANTITY > 0).OrderBy(x => x.ID).FirstOrDefault(); if (txtCableStart.Text != "") { double cableStart = Convert.ToDouble(txtCableStart.Text); double cableEnd = Convert.ToDouble(txtCableEnd.Text); if (enterStockDetail.STOCKDETAIL_PRIVATEVALUE1.Value > cableStart) { XtraMessageBox.Show("Kablo ucu başı teslim edilen değerden küçük olamaz.", "HATA"); return; } if (enterStockDetail.STOCKDETAIL_PRIVATEVALUE2.Value < cableEnd) { XtraMessageBox.Show("Kablo ucu sonu teslim edilen değerden büyük olamaz.", "HATA"); return; } txtQuantity.Text = (cableEnd - cableStart).ToString(); } var existStockDetail = StockHelper.GetBarcodeStocks(lueActiveStockDetail.EditValue.ToString()); var stockDetail = new StockDetail(); stockDetail.STOCKDETAIL_BARCODE_ID = existStockDetail.STOCKDETAIL_BARCODE_ID; stockDetail.STOCKDETAIL_MASTER_ID = _stockMasterId; stockDetail.STOCKDETAIL_STORE_ID = project.Company.COMPANY_STORE_ID.Value; stockDetail.STOCKDETAIL_ITEM_ID = existStockDetail.STOCKDETAIL_ITEM_ID; stockDetail.STOCKDETAIL_RACK_ID = existStockDetail.STOCKDETAIL_RACK_ID; stockDetail.STOCKDETAIL_QUANTITY = Convert.ToDouble(txtQuantity.Text) * -1; stockDetail.STOCKDETAIL_PRIVATEVALUE1 = string.IsNullOrEmpty(txtCableStart.Text) ? 0 : (double)txtCableStart.EditValue; stockDetail.STOCKDETAIL_PRIVATEVALUE2 = string.IsNullOrEmpty(txtCableEnd.Text) ? 0 : (double)txtCableEnd.EditValue; stockDetail.STOCKDETAIL_REF_ID = _projectId; stockDetail.STOCKDETAIL_REF_LINK = "ProjectOutput"; dbContext.StockDetail.Add(stockDetail); txtQuantity.EditValue = ""; txtCableStart.EditValue = ""; txtCableEnd.EditValue = ""; lueActiveStockDetail.EditValue = null; dbContext.SaveChanges(); LoadData(); } }
protected bool Create(CommonModel common) { try { var incomePriceList = common.dS_IncomePrices; var outcomeList = common.dS_Outcomes; if (incomePriceList.Count() != 0) { foreach (var incomePrice in incomePriceList) { StockHelper.IncomePriceAdd(incomePrice); foreach (var incomePriceItem in incomePrice.DS_IncomePriceItems) { StockHelper.IncomePriceSimpleItemItemAdd(incomePriceItem.DS_IncomePriseSimpleItem, incomePrice.DS_StockID.Value, incomePriceItem.ID); } } } if (outcomeList.Count() != 0) { foreach (var outcome in outcomeList) { StockHelper.OutcomeAdd(outcome); //foreach (var outcomeItem in outcome.DS_OutcomeItems) //{ // StockHelper.OutcomeItemAdd(outcomeItem, outcome.DS_StockID.Value); //} } } _logger.Info($"Create({string.Join(",", true)})"); return(true); } catch (Exception ex) { _logger.Error($"Create({string.Join(",", false)}), Exception: {ex.Message}"); return(false); } }
public async Task <IActionResult> Update(int id, int statusID, int qty) { User user = HttpContext.Items["user"] as User; bool success = false; var q = from o in _context.Order where o.userId == user.id && o.id == id select o; Order order = await q.Include("stock").SingleAsync(); if (statusID != (int)order.status) { try { order.status = (Order.Status)statusID; if (statusID == 5) { int newStockAmount = order.stock.count + order.itemAmount; await StockHelper.UpdateStock(order.stockId, newStockAmount, _context); } await _context.SaveChangesAsync(); success = true; } catch (DbUpdateConcurrencyException) { if (!OrderExists(order.id)) { return(NotFound()); } else { throw; } } } return(Json( new { success = success } )); }
public stck0004(int stockMasterId = 0) { InitializeComponent(); _stockMasterId = stockMasterId; if (_stockMasterId > 0) { LoadData(); var stockMaster = dbContext.StockMaster.Find(_stockMasterId); lueSourceStore.EditValue = stockMaster.STOCKMASTER_SOURCESTORE_ID; lueTargetStore.EditValue = stockMaster.STOCKMASTER_TARGETSTORE_ID; stockDetailDropdown.DataSource = StockHelper.GetStoreStocks(stockMaster.STOCKMASTER_TARGETSTORE_ID).Where(x => x.STOCKDETAIL_QUANTITY > 0); gControlMaster.Enabled = false; } else { gControlDetail.Enabled = false; } targetStoreBindingSource.DataSource = dbContext.ParameterDetail.Where(x => x.PARAMETERDETAIL_MASTER_ID == StaticTypes.Store).ToList(); sourceStoreBindingSource.DataSource = dbContext.ParameterDetail.Where(x => x.PARAMETERDETAIL_MASTER_ID == StaticTypes.Store).ToList(); }
protected async override Task CrearNuevoElemento() { if (await StockHelper.ConsultarStock(JornalMaterial.Material.Id, JornalMaterial.CantidadUsado)) { if (JornalMaterial.Material != null && JornalMaterial.CantidadUsado > 0) { JornalMaterial.JornalId = Jornal.Id; JornalMaterial.MaterialId = JornalMaterial.Material.Id; await ApiProcessor.PostApi(JornalMaterial, "JornalMaterial/Insert"); StockHelper.QuitarStock(JornalMaterial.MaterialId, JornalMaterial.CantidadUsado); await Inicializar(); JornalMaterial = null; JornalMaterial = new JornalMaterialDto(); } } else { MessageBox.Show("Material sin stock"); } }
public bool ValidateRawStock(string stock) { if (!stock.StartsWith("#") && StockHelper.GetPropertyCount(stock) == 3 && !string.IsNullOrEmpty(StockHelper.GetMaterialName(stock)) && !string.IsNullOrEmpty(StockHelper.GetMaterialID(stock))) { var warehouses = StockHelper.GetWarehouses(stock); if (warehouses.Length != 0) { foreach (var item in warehouses) { if (string.IsNullOrEmpty(StockHelper.GetWarehouseName(item)) || string.IsNullOrEmpty(StockHelper.GetMaterialAmount(item))) { return(false); } } return(true); } else { return(false); } } else { if (!stock.StartsWith("#")) { //w zadaniu nie bylo sprecyzowane co robic z blednymi liniami czy je poprawiac czy gdzies logowac using (StreamWriter w = File.AppendText("importError.txt")) { w.WriteLine("Błąd importu w lini - {0}", stock); } } return(false); } }
public ActionResult ClientDetail() { var username = User.Identity.Name; var clientPage = new ClientPages(); try { StockHelper.UpdateCurrentPrice(); using (var db = new ApplicationDbContext()) { clientPage.UserName = db.User.Where(a => a.UserEmail == username).FirstOrDefault(); var data = db.Trades.Where(a => !a.IsDelete).ToList().Join(db.Stocks, a => a.StockId, c => c.Id, (a, c) => new Trade { StockId = a.StockId, Quantity = a.Quantity, TotalAmount = a.TotalAmount, TradeType = a.TradeType, Stock = c }).ToList(); clientPage.profits = ProfitHelper.getProfits(data); var dividend = db.Dividends.Where(a => !a.IsDelete).ToList(); ProfitHelper.HandleProfit(clientPage.profits, dividend); clientPage.SumHode = clientPage.profits.Sum(a => a.hode); clientPage.SumInvest = clientPage.profits.Where(a => a.hode != 0).Sum(a => a.investAmount); clientPage.done = clientPage.profits.Where(a => a.hode == 0).Sum(a => a.balance); clientPage.undone = clientPage.profits.Where(a => a.hode != 0).Sum(a => a.balance); clientPage.SumhodePrice = clientPage.profits.Where(a => a.hode != 0).Sum(a => a.hodePrice); var stocks = db.Stocks.Where(a => !a.IsDelete).ToList(); ViewBag.Stocks = stocks; return(View(clientPage)); } }catch (Exception ex) { return(RedirectToAction("HandleError", "Error", new { @msg = ex.Message })); } }
public async Task <float> GetCurrentPrice() { return(await StockHelper.GetStockPrice(Ticker)); }
public ActionResult SubmitProposal(SetProposalViewModel viewModel) { var existingEmployee = DB.StockHistories .Where(x => x.UserId == viewModel.EmployeeId && x.EndDate == null) .OrderByDescending(x => x.StockHistoryId) .FirstOrDefault(); if (existingEmployee != null) { // Update Stock History if material is already in existingEmployee.EndDate = DateTime.Today; existingEmployee.UpdatedDate = DateTime.Today; existingEmployee.UpdatedById = LoggedUser.EmployeeId; StockHistory stockHistory = new StockHistory(); stockHistory.StockId = existingEmployee.StockId; stockHistory.UserId = viewModel.EmployeeId; stockHistory.StartDate = DateTime.Today; stockHistory.EndDate = null; stockHistory.CreatedDate = DateTime.Today; stockHistory.CreatedById = LoggedUser.EmployeeId; stockHistory.UpdatedDate = null; stockHistory.UpdatedById = null; DB.StockHistories.Add(stockHistory); // Update GATE_ComponentRequest var componentRequest = DB.GATE_ComponentRequest.Find(viewModel.ComponentId); componentRequest.StockHistoryId = existingEmployee.StockHistoryId; DB.SaveChanges(); } else { if (viewModel.EmployeeId != 0) { // Add material into Stock Stock stock = new Stock(); StockHelper stockService = new StockHelper(DB, LoggedUser); string companyCodeName = stockService.FindCompanyCodeNameFromEmployee(viewModel.EmployeeId); string materialCode = stockService.FindMaterialCodeFromComponentId(viewModel.ComponentId); int companyId = DB.Companies.Where(x => x.CompanyCodeName == companyCodeName).Select(x => x.ID).FirstOrDefault(); int materialId = DB.GenericMaterials .Where(x => x.MaterialCode == materialCode) .Select(x => x.GenericMaterialId) .FirstOrDefault(); int seqnember = stockService.GetNextSeqNumber(companyId, materialId); string productCode = stockService.GenerateProductCode(companyCodeName, materialCode, seqnember); stock.ProductCode = productCode; stock.CompanyId = companyId; stock.GenericMaterialId = materialId; stock.SeqNumber = seqnember; stock.Note = null; stock.StockStatusId = StockStatus.InStock; DB.Stocks.Add(stock); DB.SaveChanges(); // Update Stock History for previous employee StockHistory previousEmployee = new StockHistory(); previousEmployee.StockId = stock.StockId; previousEmployee.UserId = viewModel.EmployeeId; previousEmployee.StartDate = DateTime.Today; previousEmployee.EndDate = DateTime.Today; previousEmployee.CreatedById = LoggedUser.EmployeeId; previousEmployee.CreatedDate = DateTime.Today; previousEmployee.UpdatedDate = DateTime.Today; previousEmployee.UpdatedById = LoggedUser.EmployeeId; DB.StockHistories.Add(previousEmployee); DB.SaveChanges(); // Update GATE_ComponentRequest var componentRequest = DB.GATE_ComponentRequest.Find(viewModel.ComponentId); componentRequest.StockHistoryId = previousEmployee.StockHistoryId; // Update Stock History for new employee StockHistory newEmployee = new StockHistory(); newEmployee.StockId = stock.StockId; newEmployee.UserId = DB.GATE_MaterialRequest .Where(x => x.MaterialRequestId == viewModel.MaterialRequestId) .Select(x => x.ConcernedEmployeeId) .FirstOrDefault(); newEmployee.StartDate = DateTime.Today; newEmployee.EndDate = null; newEmployee.CreatedDate = DateTime.Today; newEmployee.CreatedById = LoggedUser.EmployeeId; newEmployee.UpdatedDate = null; newEmployee.UpdatedById = null; DB.StockHistories.Add(newEmployee); DB.SaveChanges(); } // User select a material from Stock, not from an employee else { // Add material into Stock Stock stock = new Stock(); StockHelper stockService = new StockHelper(DB, LoggedUser); string companyCodeName = DB.GATE_MaterialRequest .Where(x => x.MaterialRequestId == viewModel.MaterialRequestId) .Select(x => x.ConcernedEmployee.Company.CompanyCodeName) .FirstOrDefault(); string materialCode = stockService.FindMaterialCodeFromComponentId(viewModel.ComponentId); int companyId = DB.Companies.Where(x => x.CompanyCodeName == companyCodeName).Select(x => x.ID).FirstOrDefault(); int materialId = DB.GenericMaterials .Where(x => x.MaterialCode == materialCode) .Select(x => x.GenericMaterialId) .FirstOrDefault(); int seqnember = stockService.GetNextSeqNumber(companyId, materialId); string productCode = stockService.GenerateProductCode(companyCodeName, materialCode, seqnember); stock.ProductCode = productCode; stock.CompanyId = companyId; stock.GenericMaterialId = materialId; stock.SeqNumber = seqnember; stock.Note = null; stock.StockStatusId = StockStatus.InStock; DB.Stocks.Add(stock); DB.SaveChanges(); // Update Stock History. It is same to indicate the material from Stock StockHistory previousEmployee = new StockHistory(); previousEmployee.StockId = stock.StockId; previousEmployee.UserId = DB.GATE_MaterialRequest .Where(x => x.MaterialRequestId == viewModel.MaterialRequestId) .Select(x => x.ConcernedEmployeeId) .FirstOrDefault(); previousEmployee.StartDate = DateTime.Today; previousEmployee.EndDate = DateTime.Today; previousEmployee.CreatedById = LoggedUser.EmployeeId; previousEmployee.CreatedDate = DateTime.Today; previousEmployee.UpdatedDate = DateTime.Today; previousEmployee.UpdatedById = LoggedUser.EmployeeId; DB.StockHistories.Add(previousEmployee); DB.SaveChanges(); // Update GATE_ComponentRequest var componentRequest = DB.GATE_ComponentRequest.Find(viewModel.ComponentId); componentRequest.StockHistoryId = previousEmployee.StockHistoryId; // Update Stock History for new employee StockHistory newEmployee = new StockHistory(); newEmployee.StockId = stock.StockId; newEmployee.UserId = DB.GATE_MaterialRequest .Where(x => x.MaterialRequestId == viewModel.MaterialRequestId) .Select(x => x.ConcernedEmployeeId) .FirstOrDefault(); newEmployee.StartDate = DateTime.Today; newEmployee.EndDate = null; newEmployee.CreatedDate = DateTime.Today; newEmployee.CreatedById = LoggedUser.EmployeeId; newEmployee.UpdatedDate = null; newEmployee.UpdatedById = null; DB.StockHistories.Add(newEmployee); DB.SaveChanges(); } } Session["SelectedEmployeeId"] = viewModel.EmployeeId; return ConfirmDelivery(viewModel.ComponentId); }