public void BizUserCreateAndDeleteStock() { var createStockRequest1 = new StockRequestModel { Id = 0, Name = "Розничный склад 1", IsMain = false, StockType = 2 }; var createStockRequest2 = new StockRequestModel { Id = 0, Name = "Розничный склад 2", IsMain = false, StockType = 2 }; string login = TesterUtils.CreateBizUserOooUsn15AndFillRequisites(); TesterUtils.SwitchOnStock(login); string token = OauthUtils.GetAutorizationToken(login); StockResponseModel responseCreate1 = StockUtils.СreateStock(token, createStockRequest1); StockResponseModel responseCreate2 = StockUtils.СreateStock(token, createStockRequest2); StockUtils.DeleteStock(token, responseCreate1.Id); StockListResponseModel stockList = StockUtils.GetStockList(token, 1, 10); int count = stockList.ResourceList.Count; Assert.AreEqual(2, count); }
public IActionResult Index(StockRequestModel input) { try { var listParam = new List <KeyValuePair <string, string> >(); listParam.Add(new KeyValuePair <string, string>("customerId", Convert.ToString(new SessionUtility().GetLoginSession().customerId))); listParam.Add(new KeyValuePair <string, string>("fromDate", Convert.ToString(input.FromDate.ToString("yyyyMMdd")))); listParam.Add(new KeyValuePair <string, string>("toDate", Convert.ToString(input.ToDate.ToString("yyyyMMdd")))); listParam.Add(new KeyValuePair <string, string>("StockTypeId", input.StockType)); string errorMessage = string.Empty; var response = new CallService().GetResponse <List <StockReqRes> >("getStockRequestStatus", listParam, ref errorMessage); if (string.IsNullOrEmpty(errorMessage)) { ViewBag.StockReqReport = response; } else { ViewData["ErrorMessage"] = errorMessage; } } catch (Exception) { } GetStockType(); return(View(input)); }
public void BizUserCreateUpdateAndGetStock() { var createStockRequest = new StockRequestModel { Id = 0, Name = "Розничный склад", IsMain = false, StockType = 2 }; string login = TesterUtils.CreateBizUserOooUsn15AndFillRequisites(); TesterUtils.SwitchOnStock(login); string token = OauthUtils.GetAutorizationToken(login); StockResponseModel responseCreate = StockUtils.СreateStock(token, createStockRequest); var updateStockRequest = new StockRequestModel { Id = responseCreate.Id, Name = "Отредактированный склад", IsMain = true, StockType = 1 }; StockResponseModel responceUpdate = StockUtils.UpdateStock(token, responseCreate.Id, updateStockRequest); StockResponseModel responceGet = StockUtils.GetStock(token, responseCreate.Id); Assert.AreEqual(updateStockRequest.Id, responceGet.Id); Assert.AreEqual(updateStockRequest.Name, responceGet.Name); Assert.AreEqual(updateStockRequest.IsMain, responceGet.IsMain); Assert.AreEqual(updateStockRequest.StockType, responceGet.StockType); Assert.AreEqual(responceUpdate.SubcontoId, responceGet.SubcontoId); }
public bool Modify([FromBody] StockRequestModel stock) { ProductDTO product = this.productsFacade.Get(stock.ProductId); StockDTO stockDto = StockRequestModel.StockRequestModelToStockDTO(stock); stockDto.Product = product; return(stocksFacade.Modify(stockDto)); }
public StockRequestModel Add([FromBody] StockNewRequestModel stock) { ProductDTO product = this.productsFacade.Get(stock.ProductId); StockDTO stockDto = StockNewRequestModel.StockNewRequestModelToStockDTO(stock); stockDto.Product = product; return(StockRequestModel.StockDTOToStockRequestModel( stocksFacade.Add(stockDto))); }
public StockResponseModel UpdateStock(string token, StockRequestModel stockRequest) { request = GivenRequest(token, Method.PUT); request.AddJsonBody(stockRequest); Console.WriteLine("Редактирование склада"); var response = Execute <StockResponseModel>(request); Console.WriteLine(response.ResponseUri.ToString()); Console.WriteLine(response.Content); return(response.Data); }
public async Task <IActionResult> GetProductStockCount([FromQuery] StockRequestModel stockRequestModel) { var stock = await _stockRepository.GetStockByProductId(stockRequestModel.ProductId); if (stock == null) { return(NotFound($"The Stock whose Product ID is equal to {stockRequestModel.ProductId} cannot be found.")); } const int MIN_STOCK_VALUE = 1; if (stock.Value < MIN_STOCK_VALUE || stock.Value < stockRequestModel.Quantity) { return(NotFound($"The Stock whose Product ID is equal to {stockRequestModel.ProductId} has no available stock !")); } return(Ok(stock)); }
public ServerResponse getCompetitor(string symbol, [FromBody] StockRequestModel payload) { ServerResponse sr; string[] fields; //if user didn't specify anything, give them everything! if (payload == null || payload.fields.Count() == 0 || payload.fields.Contains("*")) { fields = new string[] { }; } else { fields = payload.fields.ToArray(); } sr = StockUtilities.getCompetitor(symbol, fields); return(sr); }
public int Count(StockRequestModel request) { request.StartDate = request.StartDate.Date; request.EndDate = request.EndDate.Date.AddDays(1).AddMinutes(-1); Bookmark bookmark = db.Bookmarks.OrderByDescending(x => x.Created).FirstOrDefault(x => x.Created < request.StartDate); if (bookmark == null) { return(0); } IQueryable <ProductBookmark> queryablePBookmarks = bookmark.ProductBookmarks.AsQueryable(); ProductBookmarkRequestModel pbRequestModel = new ProductBookmarkRequestModel(request.Keyword, "Modified", "False"); queryablePBookmarks = pbRequestModel.GetOrderedData(queryablePBookmarks); queryablePBookmarks = pbRequestModel.SkipAndTake(queryablePBookmarks); return(queryablePBookmarks.Count()); }
public StockResponseModel HasAvailableStock(StockRequestModel stockRequestModel) { try { //TODO : ip adressleri ? var client = new RestClient { BaseUrl = new Uri(_projectBaseUrlSettings.Stock) }; var request = new RestRequest("api/v1/stocks", Method.GET); request.AddParameter("productId", stockRequestModel.ProductId, ParameterType.QueryString); request.AddParameter("quantity", stockRequestModel.Quantity, ParameterType.QueryString); var response = client.Execute <StockResponseModel>(request); return(response.Data); } catch (Exception ex) { throw; } }
public static StockResponseModel UpdateStock(string token, int stockId, StockRequestModel stockRequest) { string url = restApiUrl + createStockUrl + "/" + stockId; return(new StockClient(url).UpdateStock(token, stockRequest)); }
public static StockResponseModel СreateStock(string token, StockRequestModel stockRequest) { string url = restApiUrl + createStockUrl; return(new StockClient(url).CreateStock(token, stockRequest)); }
public IHttpActionResult Count(StockRequestModel request) { return(Ok(service.Count(request))); }
public IHttpActionResult Data(StockRequestModel request) { StockViewModel stockViewModel = service.Search(request); return(Ok(stockViewModel)); }
public StockViewModel Search(StockRequestModel request) { request.StartDate = request.StartDate.Date; request.EndDate = request.EndDate.Date.AddDays(1).AddMinutes(-1); Bookmark bookmark = db.Bookmarks.OrderByDescending(x => x.Created).FirstOrDefault(x => x.Created < request.StartDate); if (bookmark == null) { return(null); } IQueryable <ProductBookmark> queryablePBookmarks = bookmark.ProductBookmarks.AsQueryable(); ProductBookmarkRequestModel pbRequestModel = new ProductBookmarkRequestModel(request.Keyword, "Modified", "False"); queryablePBookmarks = pbRequestModel.GetOrderedData(queryablePBookmarks); queryablePBookmarks = pbRequestModel.SkipAndTake(queryablePBookmarks); List <ProductBookmarkViewModel> productBookmarks = queryablePBookmarks.ToList().ConvertAll(x => new ProductBookmarkViewModel(x)).ToList(); var bookmarkDate = bookmark.Created.Date; List <SaleDetailViewModel> saleDetails = db.SaleDetails.Include(x => x.Product).Where(x => x.Created >= bookmarkDate && x.Created <= request.EndDate).ToList().ConvertAll(x => new SaleDetailViewModel(x)).ToList(); var purchaseDetails = db.PurchaseDetails.Include(x => x.Product).Where(x => x.Created >= bookmarkDate && x.Created <= request.EndDate).ToList().ConvertAll(x => new PurchaseDetailViewModel(x)); var stockDetailViewModels = new List <StockDetailViewModel>(); foreach (var pb in productBookmarks) { var purchaseDqBefore = purchaseDetails.Where(x => x.Created < request.StartDate && x.ProductId == pb.ProductId).ToList(); int purchasedBefore = purchaseDqBefore.Any() ? purchaseDqBefore.Sum(x => x.Quantity) : 0; var purchaseDqAfter = purchaseDetails.Where(x => x.Created >= request.StartDate && x.ProductId == pb.ProductId).ToList(); int purchasedAfter = purchaseDqAfter.Any() ? purchaseDqAfter.Sum(x => x.Quantity) : 0; var saleDqBefore = saleDetails.Where(x => x.Created < request.StartDate && x.ProductId == pb.ProductId).ToList(); int soldBefore = saleDqBefore.Any() ? saleDqBefore.Sum(x => x.Quantity) : 0; var saleDqAfter = saleDetails.Where(x => x.Created >= request.StartDate && x.ProductId == pb.ProductId).ToList(); int soldAfter = saleDqAfter.Any() ? saleDqAfter.Sum(x => x.Quantity) : 0; StockDetailViewModel sdetail = new StockDetailViewModel { StartingOnHand = pb.PhysicalOnHand + purchasedBefore - soldBefore, StockIn = purchasedAfter, ProductName = pb.ProductName, StockOut = soldAfter, BookmarkStartingOnHand = pb.PhysicalOnHand }; sdetail.EndOnHand = sdetail.StartingOnHand + sdetail.StockIn - sdetail.StockOut; sdetail.CostTotal = pb.CostPrice * sdetail.EndOnHand; stockDetailViewModels.Add(sdetail); } StockViewModel stockViewModel = new StockViewModel() { BookmarkDate = bookmarkDate, StartDate = request.StartDate, EndDate = request.EndDate, CostTotal = stockDetailViewModels.Sum(x => x.CostTotal), StockDetailViewModels = stockDetailViewModels }; // get purchase detail by productid & date range // get sale detail by productid & date range // prepare view model & return return(stockViewModel); }
public StockRequestModel Add([FromBody] StockNewRequestModel stock) { return StockRequestModel.StockDTOToStockRequestModel( stocksFacade.Add(StockNewRequestModel.StockNewRequestModelToStockDTO(stock))); }
public bool Modify([FromBody] StockRequestModel stock) { return stocksFacade.Modify(StockRequestModel.StockRequestModelToStockDTO(stock)); }
public StockRequestModel Get(int id) { return StockRequestModel.StockDTOToStockRequestModel(stocksFacade.Get(id)); }