示例#1
0
        public async Task <IActionResult> Przesun(PrzesuniecieCreateModel createModel)
        {
            var id = await Mediator.Send(new PrzesunCommand(PrzedsiebiorstwoId, createModel));

            return(Ok(id));
        }
示例#2
0
        public async Task CheckStanAktualnyAfterPrzesuniecie()
        {
            // Arrange
            var client           = _factory.CreateClient();
            var magazynApiCaller = new MagazynApiCaller(client);

            var tokens = await Authenticate(client).ConfigureAwait(false);

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", tokens.Token);

            var magazynWydaniaId = await magazynApiCaller.DodajMagazyn(MagazynObjectMother.GetMagazyn());

            var magazynPrzyjeciaId = await magazynApiCaller.DodajMagazyn(MagazynObjectMother.GetMagazyn());

            var produktId = await new ProduktApiCaller(client).DodajProdukt(ProduktObjectMother.GetProdukt(magazynWydaniaId));

            await new PrzyjecieApiCaller(client).Przyjmij(new PrzyjecieCreateModel
            {
                MagazynId = magazynWydaniaId,
                Data      = DateTime.Now,
                Pozycje   = new List <PrzyjeciePozycjaDokumentuCreateModel>
                {
                    new PrzyjeciePozycjaDokumentuCreateModel
                    {
                        ProduktId = produktId,
                        CenaNetto = 1M,
                        Ilosc     = 10,
                        StawkaVat = StawkaVat.DwadziesciaTrzyProcent
                    }
                }
            });

            var przesuniecieModel = new PrzesuniecieCreateModel
            {
                MagazynWydajacyId    = magazynWydaniaId,
                MagazynPrzyjmujacyId = magazynPrzyjeciaId,
                Data    = DateTime.Now,
                Pozycje = new List <PozycjaWydaniaModel>
                {
                    new PozycjaWydaniaModel
                    {
                        ProduktId = produktId,
                        Ilosc     = 7
                    }
                }
            };

            var stanAktualnyApiCaller = new StanAktualnyApiCaller(client);

            await new PrzesuniecieApiCaller(client).Przesun(przesuniecieModel);

            var stanyWydane = await stanAktualnyApiCaller.GetStanAktualny(magazynWydaniaId);

            Assert.That(stanyWydane, Has.Count.EqualTo(1));
            Assert.That(stanyWydane.First().Ilosc, Is.EqualTo(3));

            var stanyPrzyjete = await stanAktualnyApiCaller.GetStanAktualny(magazynPrzyjeciaId);

            Assert.That(stanyPrzyjete, Has.Count.EqualTo(1));
            Assert.That(stanyPrzyjete.First().Ilosc, Is.EqualTo(7));
        }
 public PrzesunCommand(Guid przedsiebiorstwoId, PrzesuniecieCreateModel model)
 {
     Model = model;
     PrzedsiebiorstwoId = przedsiebiorstwoId;
 }
示例#4
0
        public async Task ProbaPrzesunieciaNieistniejacegoTowaru()
        {
            // Arrange
            var client           = _factory.CreateClient();
            var magazynApiCaller = new MagazynApiCaller(client);

            var tokens = await Authenticate(client).ConfigureAwait(false);

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", tokens.Token);

            var magazynWydaniaId = await magazynApiCaller.DodajMagazyn(MagazynObjectMother.GetMagazyn());

            var magazynPrzyjeciaId = await magazynApiCaller.DodajMagazyn(MagazynObjectMother.GetMagazyn());

            var produktId = await new ProduktApiCaller(client).DodajProdukt(ProduktObjectMother.GetProdukt(magazynWydaniaId));

            await new PrzyjecieApiCaller(client).Przyjmij(new PrzyjecieCreateModel
            {
                MagazynId = magazynWydaniaId,
                Data      = DateTime.Now,
                Pozycje   = new List <PrzyjeciePozycjaDokumentuCreateModel>
                {
                    new PrzyjeciePozycjaDokumentuCreateModel
                    {
                        ProduktId = produktId,
                        CenaNetto = 1M,
                        Ilosc     = 10,
                        StawkaVat = StawkaVat.DwadziesciaTrzyProcent
                    }
                }
            });

            var przesuniecieModel = new PrzesuniecieCreateModel
            {
                MagazynWydajacyId    = magazynWydaniaId,
                MagazynPrzyjmujacyId = magazynPrzyjeciaId,
                Data    = DateTime.Now,
                Pozycje = new List <PozycjaWydaniaModel>
                {
                    new PozycjaWydaniaModel
                    {
                        ProduktId = produktId,
                        Ilosc     = 10
                    }
                }
            };

            await new PrzesuniecieApiCaller(client).Przesun(przesuniecieModel);

            //Act
            var przesuniecieModel2 = new PrzesuniecieCreateModel
            {
                MagazynWydajacyId    = magazynWydaniaId,
                MagazynPrzyjmujacyId = magazynPrzyjeciaId,
                Data    = DateTime.Now,
                Pozycje = new List <PozycjaWydaniaModel>
                {
                    new PozycjaWydaniaModel
                    {
                        ProduktId = produktId,
                        Ilosc     = 1
                    }
                }
            };

            var serializerSettings = GetNodaTimeSerializerSettings();
            var content            = new StringContent(JsonConvert.SerializeObject(przesuniecieModel2, serializerSettings), Encoding.UTF8, "application/json");
            var result             = await client.PostAsync("Przesuniecie/Przesun", content).ConfigureAwait(false);

            Assert.That(result.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest));

            var contentString = await result.Content.ReadAsStringAsync().ConfigureAwait(false);

            Assert.That(contentString, Is.EqualTo("Niewystarczający stan magazynowy"));
        }
 public Task <Guid> Przesun(PrzesuniecieCreateModel model)
 {
     return(HttpClient.Post <Guid>("Przesuniecie/Przesun", model));
 }