예제 #1
0
        public void GenerujSymbolTowaru_GdyBrakPozycjiKonfekcji_ZwrocNull()
        {
            IGniazdoProdukcyjne pozycja = null;
            var nazwa = sut.GenerujSymbolTowaru(pozycja);

            Assert.IsNull(nazwa);
        }
예제 #2
0
        /// <summary>
        /// Uzupelnienie niezbednych danych dla rolki PW przed dodaniem do bazy
        /// </summary>
        /// <param name="idRuchNaglowek">id naglowka</param>
        /// <param name="pozycjaPW">rolka PW</param>
        /// <returns>void</returns>
        public virtual async Task UzupelnijPozycjePW(int?idRuchNaglowek,
                                                     tblProdukcjaRuchTowar pozycjaPW,
                                                     GPRuchTowarPWViewModel pwViewModel)
        {
            pozycjaPW.IDProdukcjaGniazdoProdukcyjne = pwViewModel.GniazdoProdukcyjne?.IDProdukcjaGniazdoProdukcyjne;
            pozycjaPW.IDProdukcjaZlecenieTowar      = pwViewModel.ZlecenieTowar?.IDProdukcjaZlecenieTowar ?? 0;
            pozycjaPW.IDProdukcjaRuchNaglowek       = idRuchNaglowek.Value;
            pozycjaPW.IDProdukcjaRuchTowarWyjsciowy = pwViewModel.RolkaRW?.IDProdukcjaRuchTowar;
            pozycjaPW.IDRolkaBazowa                = pwViewModel.RolkaRW?.IDProdukcjaRuchTowar;
            pozycjaPW.IDRuchStatus                 = (int)StatusRuchuTowarowEnum.PrzyjecieWewnetrzne_PW;
            pozycjaPW.IDProdukcjaRuchNaglowek      = idRuchNaglowek.GetValueOrDefault();
            pozycjaPW.IDProdukcjaRozliczenieStatus = (int)ProdukcjaRozliczenieStatusEnum.NieRozliczono;
            pozycjaPW.Cena_kg = await pwViewModel.PwHelper.RolkaHelper.PobierzKosztRolki(pozycjaPW, (GniazdaProdukcyjneEnum)pwViewModel.GniazdoProdukcyjne?.IDProdukcjaGniazdoProdukcyjne);

            pozycjaPW.Cena_m2            = PobierzCenaDla(pozycjaPW);
            pozycjaPW.TowarNazwaMsAccess = nazwaTowaruSubiektHelper.GenerujNazweTowaru(pozycjaPW);
            pozycjaPW.TowarSymbolSubiekt = nazwaTowaruSubiektHelper.GenerujSymbolTowaru(pozycjaPW);
            pozycjaPW.NrDokumentu        = pozycjaPW.NrRolkiPelny;
            pozycjaPW.SurowiecSkrot      = pozycjaPW.tblTowarGeowlokninaParametrySurowiec?.Skrot;

            var towar = await pwViewModel.UnitOfWork.tblTowar.PobierzTowarZParametrowAsync(pwViewModel.WybranaGramatura, pwViewModel.WybranySurowiec, false);

            pozycjaPW.IDTowar           = towar == null ? (int?)null : towar.IDTowar;
            pozycjaPW.TowarNazwaSubiekt = new NazwaTowaruGenerator().GenerujNazweTowaru(pozycjaPW);
        }
예제 #3
0
        public IEnumerable <tblProdukcjaRozliczenie_PW> GenerujRozliczeniePW(IEnumerable <IGniazdoProdukcyjne> listaPozycjiKonfekcji, decimal cenaMieszanki)
        {
            if (listaPozycjiKonfekcji is null ||
                !listaPozycjiKonfekcji.Any())
            {
                throw new ArgumentNullException($"Brak argumentów dla metody {nameof(GenerujRozliczeniePW)}");
            }


            var listaPW = new List <tblProdukcjaRozliczenie_PW>();

            foreach (var pozycja in listaPozycjiKonfekcji)
            {
                if (pozycja.Szerokosc == 0)
                {
                    continue;
                }
                if (pozycja.Dlugosc == 0)
                {
                    continue;
                }

                var nazwaTowaru = nazwaTowaruSubiekt.GenerujNazweTowaru(pozycja);
                var pozycjaPW   = new tblProdukcjaRozliczenie_PW
                {
                    NrZlecenia          = pozycja.Zlecenie,
                    IDZlecenie          = pozycja.ZlecenieID,
                    NazwaTowaruSubiekt  = nazwaTowaru,
                    SymbolTowaruSubiekt = nazwaTowaruSubiekt.GenerujSymbolTowaru(pozycja),
                    Ilosc    = pozycja.IloscM2,
                    Ilosc_kg = pozycja.Waga,
                    Odpad_kg = pozycja.WagaOdpadu,
                    IDJm     = (int)JmEnum.m2,
                    Jm       = "m2",
                    CenaProduktuBezNarzutow_kg = cenaMieszanki,
                    CenaJednostkowa            = cenaMieszanki,
                    Wartosc     = (pozycja.Waga + pozycja.WagaOdpadu) * cenaMieszanki,
                    Szerokosc_m = pozycja.Szerokosc,
                    Dlugosc_m   = pozycja.Dlugosc,
                    NazwaTowaru = pozycja.Artykul,
                };

                listaPW.Add(pozycjaPW);
            }
            return(listaPW);
        }