Exemple #1
0
        public void GdyPrzeslanoStatusRuchuEnum_WhenCalled_PrzyjecieZewnetrne_PZ(StatusRuchuTowarowEnum status, bool expected)
        {
            sut = GenerateSUT(messengerOrg);
            messengerOrg.Send(status);

            Assert.AreEqual(expected, sut.CzyStatusPZ == true);
        }
Exemple #2
0
        private async Task <tblRuchNaglowek> StworzRuchNaglowek(int idZlecenieProdukcyjne,
                                                                GniazdaProdukcyjneEnum gniazdaProdukcyjneEnum,
                                                                StatusRuchuTowarowEnum statusRuchuTowarowEnum,
                                                                FirmaEnum firmaZ,
                                                                FirmaEnum firmaDo,
                                                                MagazynyEnum magazynZ,
                                                                MagazynyEnum magazynDo)
        {
            var nrDokumentu = await tblRuchNaglowekHelper.NrDokumentuGenerator(StatusRuchuTowarowEnum.PrzyjecieWewnetrzne_PW);

            return(new tblRuchNaglowek
            {
                ID_PracownikGAT = UzytkownikZalogowany.Uzytkownik == null ? 7 : UzytkownikZalogowany.Uzytkownik.ID_PracownikGAT,
                DataPrzyjecia = new DateTime(),
                IDFirmaZ = (int)firmaZ,
                IDFirmaDo = (int)firmaDo,
                IDKontrahent = null,
                IDMagazynZ = (int)magazynZ,
                IDMagazynDo = (int)magazynDo,
                IDProdukcjaGniazdaProdukcyjne = (int)gniazdaProdukcyjneEnum,
                IDRuchStatus = (int)statusRuchuTowarowEnum,
                IDProdukcjaZlecenieProdukcyjne = idZlecenieProdukcyjne,
                NrDokumentu = nrDokumentu.NrDokumentu,
                NrDokumentuPelny = nrDokumentu.PelnyNrDokumentu
            });
        }
        [TestCase(StatusRuchuTowarowEnum.PrzesuniecieMiedzymagazynowe_MM, 20)] // exp = 20 poniewaz najpierw dodajemy 10 do 30 a nastepnie odejmujemy 10 rowniez od 30
        public async Task DodajDoBazyDanych_IloscMusiBycDodanaDoMagazynu(StatusRuchuTowarowEnum statusRuchu, int expected)
        {
            var ruchNaglowek = new tblRuchNaglowek {
                IDRuchNaglowek = 1, IDMagazynZ = 1, IDMagazynDo = 2, IsValid = true
            };
            var status = new tblRuchStatus {
                IDRuchStatus = (int)statusRuchu
            };
            var ruchTowar = new tblRuchTowar {
                IDRuchTowar = 0, Ilosc = 10, IsValid = true
            };

            tblRuchTowar.Setup(s => s.WhereAsync(It.IsAny <Expression <Func <tblRuchTowar, bool> > >())).ReturnsAsync(new List <tblRuchTowar>
            {
                new tblRuchTowar {
                    IDRuchTowar = 1, Ilosc = 10
                },
                new tblRuchTowar {
                    IDRuchTowar = 2, Ilosc = 20
                }
            });

            await sut.DodajDoBazyDanych(ruchTowar, status, ruchNaglowek);

            Assert.AreEqual(expected, sut.Towar.IloscPo);
        }
        public async Task DodajDoBazyDanych_StatusPZandWZ_UoWShouldBeInvokedOnce(StatusRuchuTowarowEnum statusRuchu)
        {
            var ruchNaglowek = new tblRuchNaglowek {
                IDRuchNaglowek = 1, IDMagazynZ = 1, IDMagazynDo = 2, IsValid = true
            };
            var status = new tblRuchStatus {
                IDRuchStatus = (int)statusRuchu
            };
            var ruchTowar = new tblRuchTowar {
                IDRuchTowar = 0, Ilosc = 10, IsValid = true
            };

            tblRuchTowar.Setup(s => s.WhereAsync(It.IsAny <Expression <Func <tblRuchTowar, bool> > >())).ReturnsAsync(new List <tblRuchTowar>
            {
                new tblRuchTowar {
                    IDRuchTowar = 1, Ilosc = 10
                },
                new tblRuchTowar {
                    IDRuchTowar = 2, Ilosc = 20
                }
            });

            await sut.DodajDoBazyDanych(ruchTowar, status, ruchNaglowek);

            tblRuchTowar.Verify(v => v.Add(It.IsAny <tblRuchTowar>()), Times.Exactly(1));
        }
Exemple #5
0
        public async Task <tblRuchTowar> ZapiszRekordDoTblRuchTowaru(JmEnum jmEnum,
                                                                     StatusRuchuTowarowEnum statusRuchuTowarowEnum,
                                                                     DokumentTypEnum dokumentTypEnum,
                                                                     MagazynyEnum naMagazynEnum,
                                                                     VatEnum vatEnum,
                                                                     int idTowar,
                                                                     int idRuchNaglowek,
                                                                     string nrRolki,
                                                                     string nrPartii)
        {
            ruchTowar = StworzRuchTowaru(jmEnum,
                                         dokumentTypEnum,
                                         naMagazynEnum,
                                         vatEnum,
                                         idTowar,
                                         idRuchNaglowek,
                                         nrRolki,
                                         nrPartii);


            var ruchStatus = await unitOfWork.tblRuchStatus.GetByIdAsync((int)statusRuchuTowarowEnum);

            var ruchNaglowek = await unitOfWork.tblRuchNaglowek.GetByIdAsync(idRuchNaglowek);

            await tblRuchTowarHelper.DodajDoBazyDanych(ruchTowar, ruchStatus, ruchNaglowek);

            return(ruchTowar);
        }
Exemple #6
0
 private WartoscDokumentuModel GenerujWartoscDokumentu(StatusRuchuTowarowEnum statusRuchu, IEnumerable <IProdukcjaRozliczenie> listaPozycji)
 {
     kosztDokumentu = listaPozycji.Sum(s => s.Wartosc);
     return(new WartoscDokumentuModel
     {
         Netto = kosztDokumentu.ToString(new CultureInfo("en-US")),
         VAT = (kosztDokumentu * 0.23m).ToString(new CultureInfo("en-US")),
         Brutto = (kosztDokumentu * 1.23m).ToString(new CultureInfo("en-US")),
     });
 }
Exemple #7
0
 private void DodajTowar(StatusRuchuTowarowEnum statusRuchu,
                         IEnumerable <IProdukcjaRozliczenie> listaPozycji
                         )
 {
     foreach (var pozycja in listaPozycji)
     {
         stringBuilder.Append($"1,\"{pozycja.SymbolTowaruSubiekt}\",,,\"{pozycja.NazwaTowaruSubiekt}\",,\"{pozycja.NazwaTowaruSubiekt}\",,,\"{pozycja.Jm}\",\"23\",23.0000,\"23\",23.0000,0.0000,0.0000,,0,,,,0.0000,0,,,0,\"{pozycja.Jm}\",0.0000,0.0000,,0,,0,0,,,,,,,,");
         stringBuilder.AppendLine();
     }
 }
Exemple #8
0
 private void DodajCennik(StatusRuchuTowarowEnum statusRuchu,
                          IEnumerable <IProdukcjaRozliczenie> listaPozycji
                          )
 {
     foreach (var pozycja in listaPozycji)
     {
         stringBuilder.Append($"\"{pozycja.SymbolTowaruSubiekt}\",\"Hurtowa\",{pozycja.CenaJednostkowa.ToString(new CultureInfo("en-US"))},0.0000,5.0000,0.0000,0.0000");
         stringBuilder.AppendLine();
     }
 }
Exemple #9
0
        private void DodajGrupyTowarow(StatusRuchuTowarowEnum statusRuchu, IEnumerable <IProdukcjaRozliczenie> listaPozycji)
        {
            foreach (var pozycja in listaPozycji)
            {
                string grupaTowarow = GenerujGrupeTowarow(statusRuchu, pozycja);

                stringBuilder.Append($"\"{pozycja.SymbolTowaruSubiekt}\",\"{grupaTowarow}\",");
                stringBuilder.AppendLine();
            }
        }
Exemple #10
0
 private string PobierzStatus(StatusRuchuTowarowEnum statusRuchu)
 {
     if (statusRuchu == StatusRuchuTowarowEnum.PrzyjecieWewnetrzne_PW)
     {
         return("PW");
     }
     else
     {
         return("RW");
     }
 }
Exemple #11
0
 private void DodajZawartosc(StatusRuchuTowarowEnum statusRuchu,
                             IEnumerable <IProdukcjaRozliczenie> listaPozycji
                             )
 {
     if (statusRuchu == StatusRuchuTowarowEnum.RozchodWewnetrzny_RW)
     {
         DodajZawartoscZRW(listaPozycji);
     }
     else
     {
         DodajZawartoscZPW(listaPozycji);
     }
 }
Exemple #12
0
        public void PoEdycjiKomorkiDataGridCommandExecute_WhenQuantityChanges(StatusRuchuTowarowEnum status, decimal iloscPrzed, decimal ilosc, decimal expected)
        {
            sut.WybranyStatusRuchu.IDRuchStatus = (int)status;
            sut.WybranyTowarRuch.Ilosc          = ilosc;
            tblRuchTowar.Setup(s => s.WhereAsync(It.IsAny <Expression <Func <tblRuchTowar, bool> > >())).ReturnsAsync(new List <tblRuchTowar>
            {
                new tblRuchTowar {
                    Ilosc = iloscPrzed
                }
            });

            sut.PoEdycjiKomorkiDataGridCommand.Execute(null);

            Assert.IsTrue(sut.WybranyTowarRuch.IloscPo == expected);
        }
Exemple #13
0
        public async Task <tblRuchNaglowek> ZapiszRekordDoTblRuchNaglowek(int idZlecenieProdukcyjne,
                                                                          GniazdaProdukcyjneEnum gniazdoProdukcyjne,
                                                                          StatusRuchuTowarowEnum statusRuchuTowarowEnum,
                                                                          FirmaEnum firmaZ,
                                                                          FirmaEnum firmaDo,
                                                                          MagazynyEnum magazynZ,
                                                                          MagazynyEnum magazynDo)
        {
            ruchNaglowek = await StworzRuchNaglowek(idZlecenieProdukcyjne, gniazdoProdukcyjne, statusRuchuTowarowEnum, firmaZ, firmaDo, magazynZ, magazynDo);

            unitOfWork.tblRuchNaglowek.Add(ruchNaglowek);
            await unitOfWork.SaveAsync();

            return(ruchNaglowek);
        }
Exemple #14
0
        public async Task GenerujPlikEPP(StatusRuchuTowarowEnum statusRuchu,
                                         tblProdukcjaRozliczenie_Naglowek naglowek,
                                         IEnumerable <IProdukcjaRozliczenie> listaPozycji,
                                         string sciezkaPliku,
                                         string uwagiDokumentu = "")
        {
            using (StreamWriter streamWriter = new StreamWriter(sciezkaPliku, false, Encoding.GetEncoding(1250)))
            {
                var textEpp = GenerujZawartoscPliku(statusRuchu, naglowek, listaPozycji, uwagiDokumentu);

                await streamWriter.WriteLineAsync(textEpp);

                //naglowek.RemoveChildObjects();
            }
        }
Exemple #15
0
        private async Task <int> PobierzNowyNrDokumentu(StatusRuchuTowarowEnum statusRuchuTowarowEnum)
        {
            int nrDokumentu = 0;
            var listaNaglowkowDlaStatusu = await unitOfWork.tblRuchNaglowek.WhereAsync(n => n.IDRuchStatus == (int)statusRuchuTowarowEnum);

            if (listaNaglowkowDlaStatusu.Count() == 0)
            {
                nrDokumentu += 1;
            }
            else
            {
                var numerDokumentuOstatni = listaNaglowkowDlaStatusu.Max(n => n.NrDokumentu);
                nrDokumentu = numerDokumentuOstatni.GetValueOrDefault() + 1;
            }
            return(nrDokumentu);
        }
Exemple #16
0
        public async Task <NrDokumentuRuchNaglowek> NrDokumentuGenerator(StatusRuchuTowarowEnum statusRuchuTowarowEnum)
        {
            var statusRuchu = await unitOfWork.tblRuchStatus.GetByIdAsync((int)statusRuchuTowarowEnum);

            int nrDokumentu = await PobierzNowyNrDokumentu(statusRuchuTowarowEnum);

            if (nrDokumentu == 0)
            {
                return(null);
            }

            return(new NrDokumentuRuchNaglowek
            {
                NrDokumentu = nrDokumentu,
                PelnyNrDokumentu = $"{statusRuchu.Symbol.Trim()} {nrDokumentu}/{DateTime.Now.Year}"
            });
        }
Exemple #17
0
        private string GenerujGrupeTowarow(StatusRuchuTowarowEnum statusRuchu, IProdukcjaRozliczenie pozycja)
        {
            if (statusRuchu == StatusRuchuTowarowEnum.RozchodWewnetrzny_RW)
            {
                return("SUROWCE WLOKNINY");
            }

            if (pozycja.SymbolTowaruSubiekt.ToLower().Contains("tasmy"))
            {
                return("SUROWCE WLOKNINY");
            }

            if (pozycja.SymbolTowaruSubiekt.ToUpper().Contains("PP"))
            {
                return("WLOKNINY PP");
            }
            if (pozycja.SymbolTowaruSubiekt.ToUpper().Contains("PES"))
            {
                return("WLOKNINY PES");
            }

            return(string.Empty);
        }
Exemple #18
0
        public void GdyPrzeslanoStatusRuchuEnum_WhenCalled_PrzesuniecieMiedzymagazynowe_MM(StatusRuchuTowarowEnum status, bool expected)
        {
            sut = GenerateSUT(messengerOrg);
            messengerOrg.Send(status);

            Assert.AreEqual(expected, sut.CzyStatusMM_PW == true);
        }
        public async Task DodajDoBazyDanych_IloscMusiBycDodanaOrazOdjetaZRoznychMagazynow(StatusRuchuTowarowEnum statusRuchu)
        {
            var ruchNaglowek = new tblRuchNaglowek {
                IDRuchNaglowek = 1, IDMagazynZ = 1, IDMagazynDo = 2, IsValid = true
            };
            var status = new tblRuchStatus {
                IDRuchStatus = (int)statusRuchu
            };
            var ruchTowar = new tblRuchTowar {
                IDRuchTowar = 0, Ilosc = 10, IsValid = true
            };

            tblRuchTowar.Setup(s => s.WhereAsync(It.IsAny <Expression <Func <tblRuchTowar, bool> > >())).ReturnsAsync(new List <tblRuchTowar>
            {
                new tblRuchTowar {
                    IDRuchTowar = 1, Ilosc = 10
                },
                new tblRuchTowar {
                    IDRuchTowar = 2, Ilosc = 20
                }
            });

            await sut.DodajDoBazyDanych(ruchTowar, status, ruchNaglowek);

            tblRuchTowar.Verify(v => v.Add(It.IsAny <tblRuchTowar>()), Times.Exactly(2));
            unitOfWork.Verify(v => v.SaveAsync(), Times.Exactly(2));
            Assert.AreEqual(20, sut.Towar.IloscPo);
        }
Exemple #20
0
        public string GenerujZawartoscPliku(StatusRuchuTowarowEnum statusRuchu,
                                            tblProdukcjaRozliczenie_Naglowek naglowek,
                                            IEnumerable <IProdukcjaRozliczenie> lista,
                                            string uwagiDokumentu = "")
        {
            var wartoscDokumentu = GenerujWartoscDokumentu(statusRuchu, lista);

            var uzytkownik = UzytkownikZalogowany.Uzytkownik ?? new tblPracownikGAT {
                ID_PracownikGAT = 7, Imie = "Tomasz", Nazwisko = "Strączek", ImieINazwiskoGAT = "Tomasz Strączek"
            };

            UzupelnijNaglowek(naglowek);

            stringBuilder = new StringBuilder();

            #region [INFO]
            stringBuilder.Append("[INFO]");
            stringBuilder.AppendLine();
            //Informacje ogólne
            stringBuilder.Append("\"1.05\",3,1250,\"GTEX_Produkcja\",\"GTEXProdukcja\",\"AG_GEOSYNTHETICS_SPK\",");
            //Nadawca
            stringBuilder.Append("\"AG GEOSYNTHETICS Spólka z ograniczona odpowiedzialnoœcia Sp.k.\",\"Studzienice\",\"43 - 215\",\"Jaskolek 12L\",\"6381836269\",");
            //Magazyn: Kod, Nazwa, Opis, Analityka magazynu, 1 , data w formacie (YYYYMMDDGGMMSS
            stringBuilder.Append($"\"GEO\",\"Geosyntetyki\",,,1,{naglowek.DataDodania.ToString("yyyyMMddHHmmss")},{naglowek.DataDodania.ToString("yyyyMMddHHmmss")},\"{uzytkownik.ImieINazwiskoGAT}\",{naglowek.DataDodania.ToString("yyyyMMddHHmmss")},\"Polska\",\"PL\",\"PL 6381836269\",1");
            stringBuilder.AppendLine();
            stringBuilder.AppendLine();
            #endregion

            #region [NAGLOWEK]
            stringBuilder.Append("[NAGLOWEK]");
            stringBuilder.AppendLine();
            // Info ogolne
            stringBuilder.Append($"\"{PobierzStatus(statusRuchu)}\",1,0,1,,,\"1/GEO/2020\",,,,,,,,,,,,\"Magazyn\",\"Dokument magazynowy\",\"Studzienice\",{naglowek.DataDodania.ToString("yyyyMMdd000000")},{naglowek.DataDodania.ToString("yyyyMMdd000000")},,2,1,");
            // Koszt dokumentu
            stringBuilder.Append($"\"Cena kartotekowa\",{wartoscDokumentu.Netto},{wartoscDokumentu.VAT},{wartoscDokumentu.Brutto},{wartoscDokumentu.Netto},,0.0000,,{naglowek.DataDodania.ToString("yyyyMMdd000000")},0.0000,{wartoscDokumentu.Brutto},0,0,0,0,");
            // Dane pracownika
            stringBuilder.Append($"\"{uzytkownik.Imie}; {uzytkownik.Nazwisko}\",\"{uzytkownik.ImieINazwiskoGAT}\",,0.0000,0.0000,");
            // Waluta
            stringBuilder.Append($"\"PLN\",1.0000,");
            // Uwagi do dokumentu
            stringBuilder.Append($"\"{uwagiDokumentu}\",,,,0,0,0,,0.0000,,0.0000,,,0");
            stringBuilder.AppendLine();
            stringBuilder.AppendLine();


            stringBuilder.Append("[ZAWARTOSC]");
            stringBuilder.AppendLine();
            DodajZawartosc(statusRuchu, lista);
            stringBuilder.AppendLine();

            #endregion


            #region [TOWARY]
            stringBuilder.Append("[NAGLOWEK]");
            stringBuilder.AppendLine();
            stringBuilder.Append("\"TOWARY\"");
            stringBuilder.AppendLine();
            stringBuilder.AppendLine();


            stringBuilder.Append("[ZAWARTOSC]");
            stringBuilder.AppendLine();
            DodajTowar(statusRuchu, lista);
            stringBuilder.AppendLine();

            #endregion

            #region [CENNIK]
            stringBuilder.Append("[NAGLOWEK]");
            stringBuilder.AppendLine();
            stringBuilder.Append("\"CENNIK\"");
            stringBuilder.AppendLine();
            stringBuilder.AppendLine();


            stringBuilder.Append("[ZAWARTOSC]");
            stringBuilder.AppendLine();
            DodajCennik(statusRuchu, lista);
            stringBuilder.AppendLine();
            #endregion


            #region [GRUPYTOWAROW]
            stringBuilder.Append("[NAGLOWEK]");
            stringBuilder.AppendLine();
            stringBuilder.Append("\"GRUPYTOWAROW\"");
            stringBuilder.AppendLine();
            stringBuilder.AppendLine();


            stringBuilder.Append("[ZAWARTOSC]");
            stringBuilder.AppendLine();
            DodajGrupyTowarow(statusRuchu, lista);
            #endregion

            return(stringBuilder.ToString());
        }
        public void GdyPrzeslanoDodajEdytujMessage_PrzypisujeTytulWlasciwyZgodnyZeStatusem(StatusRuchuTowarowEnum statusRuchuTowarowEnum, string expected)
        {
            MessengerSend(new DodajEdytujGPRuchTowarMessage
            {
                RuchStatus = new tblRuchStatus {
                    IDRuchStatus = (int)statusRuchuTowarowEnum
                },
                DodajUsunEdytujEnum = DodajUsunEdytujEnum.Dodaj,
                RuchTowar           = new tblProdukcjaRuchTowar {
                    IDProdukcjaRuchTowar = 1
                }
            });

            Assert.IsTrue(sut.Tytul.Contains(expected));
        }