public ActionResult Create(Towar towar, HttpPostedFileBase file)
        {
            if (ModelState.IsValid && file.ContentLength > 0)
            {
                db.Towary.Add(towar);
                db.SaveChanges();
                var fileName = Path.GetFileName(file.FileName);// dodaj using System.IO;
                var path     = Path.Combine(Server.MapPath("~/Content/Images"), towar.IdTowaru.ToString() + ".jpg");
                file.SaveAs(path);

                //koniecznie zmien sciezke na swoja
                var path2 = Path.Combine("C:/Users/Artur/Desktop/TM/Firma/Firma.PortalWWW/Content/Images", towar.IdTowaru.ToString() + ".jpg");
                file.SaveAs(path2);

                towar.FotoUrl = "/Content/Images/" + towar.IdTowaru.ToString() + ".jpg";
                db.SaveChanges();



                return(RedirectToAction("Index"));
            }

            ViewBag.IdRodzaju = new SelectList(db.Rodzaje, "IdRodzaju", "Nazwa", towar.IdRodzaju);

            return(View(towar));
        }
Example #2
0
 internal string Validate()
 {
     try
     {
         Towar towar = wydanie.TowarWydawany;
         if (towar.Premium)
         {
             if (towar.DataPrzyjecia.HasValue && ((DateTime)towar.DataPrzyjecia).Date > DataWydania.Date)
             {
                 return("Data wydania jest wcześniejsza od daty przyjęcia");
             }
             if (towar.DataOstatniegoWydania.HasValue && ((DateTime)towar.DataOstatniegoWydania).Date > DataWydania.Date)
             {
                 return("Wybrana data jest wcześniejsza od daty ostatniego wydania");
             }
             if ((IdPrzyjmujacego == null || IdPrzyjmujacego == 0) && (IdWydajacego == null || IdWydajacego == 0))
             {
                 return("Wybierz pracownika");
             }
             if (IdPrzyjmujacego == IdWydajacego)
             {
                 return("Wybierz innego pracownika");
             }
             return("");
         }
         else
         {
             return("");
         }
     }
     catch (Exception ex) { log.Error(ex); throw ex; }
 }
Example #3
0
        public ActionResult Cart()
        {
            double total = 0;

            var    productsList = new List <ProductInfo>();
            string username     = User.Identity.Name;
            int    shopId       = GlobalMethods.GetShopId(WebSecurity.CurrentUserId, context, WebSecurity.IsAuthenticated, Session);

            var cartItems = (from b in context.Koszyk where b.UserName == WebSecurity.CurrentUserName && b.ShopId == shopId select b).ToList();

            // w petli jest Towar towar = context.Towary.Find(cart.ID_towaru); ktore otwiera readera do bazy
            // przez co walnie bledem, gdyz reader byl juz otwarty przy cartItems, majac .ToList() pobieramy natychmiastowo dane i reader sie zamyka

            foreach (var cart in cartItems)
            {
                Towar   towar   = context.Towary.Find(cart.ID_towaru);
                decimal ItemQty = cart.Ilosc;
                double  cena    = towar.Cena * (double)ItemQty;
                string  nazwa   = towar.Produkt.Nazwa;

                productsList.Add(new ProductInfo(nazwa, cena, ItemQty, cart.Id));
                total += cena;
            }
            CartInfo cartInfo = new CartInfo(productsList, total);

            return(Json(cartInfo, JsonRequestBehavior.AllowGet));
        }
Example #4
0
        public void AddToCart_adds_product_to_cart_if_item_doesnt_exists_in_cart()
        {
            //Arrange
            var producId = 1;
            var koszyk   = new Koszyk {
                Towarid_towaru = producId
            };
            var towar = new Towar {
                cena_netto = 10
            };
            var list = new List <Koszyk> {
                koszyk
            };

            _ctx.Setup(x => x.GetKoszyk(It.IsAny <int>(), It.IsAny <string>()));
            _ctx.Setup(x => x.GetKoszykWhere(It.IsAny <string>())).Returns(list.AsQueryable());
            _ctx.Setup(x => x.GetFirstTowar(producId)).Returns(towar);
            _ctx.Setup(x => x.SaveChanges()).Verifiable();
            _ctx.Setup(x => x.Koszyks.Add(It.IsAny <Models.Koszyk>())).Verifiable();

            _sut.ControllerContext = new ControllerContext(_rc, _sut);
            //Act
            _sut.AddToCart(producId);

            //ASSERT
            _ctx.Verify(x => x.SaveChanges(), Times.Once);
            _ctx.Verify(x => x.Koszyks.Add(It.IsAny <Models.Koszyk>()), Times.Once);
            _context.Verify(x => x.Response.SetCookie(It.IsAny <HttpCookie>()), Times.Once);
        }
Example #5
0
        public void DodajDoKoszyka(Towar towar)
        {
            // Najpierw sprawdzamy czy dany towar już istnieje w koszyku danego klienta
            var elementKoszyka =
                (
                    from element in db.ElementyKoszyka
                    where element.IdSesjiKoszyka == this.IdSesjiKoszyka && element.IdTowaru == towar.IdTowaru
                    select element
                ).FirstOrDefault();

            //jeżeli brak tego towaru w koszyku
            if (elementKoszyka == null)
            {
                // Wtedy tworzymy nowy element w koszyku
                elementKoszyka = new ElementKoszyka()
                {
                    IdSesjiKoszyka = this.IdSesjiKoszyka,
                    IdTowaru       = towar.IdTowaru,
                    Ilosc          = 1,
                    DataUtworzenia = DateTime.Now
                };
                //i dodajemy do kolekcji lokalne
                db.ElementyKoszyka.Add(elementKoszyka);
            }
            else
            {
                // Jeżeli dany towar istnieje już w koszyku to liczbe sztuk zwiekszamy o 1
                elementKoszyka.Ilosc++;
            }
            // Zapisujemy zmiany do bazy
            db.SaveChanges();
        }
Example #6
0
        public void ReadPhotoAndAddAttachment()
        {
            using (var tran = Session.Logout(true))
            {
                foreach (var file in ChosenFiles)
                //foreach (var file in Parameters.ChosenFiles)
                {
                    var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(file.FileName);
                    var towar = Session.GetTowary().Towary.WgKodu[fileNameWithoutExtension];
                    if (towar == null)
                    {
                        towar = new Towar();
                        Session.AddRow(towar);
                        towar.Kod   = fileNameWithoutExtension;
                        towar.Nazwa = fileNameWithoutExtension;
                    }

                    var fileName = Path.GetFileName(file.FileName);
                    Session.GetBusiness().Attachments.WgParent[towar, AttachmentType.Attachments, fileName]?.Delete();
                    var attachment = new Attachment(towar, AttachmentType.Attachments);
                    Session.AddRow(attachment);
                    attachment.DataStream = file;
                    attachment.Name       = fileName;
                    attachment.LoadIconFromRawData(file.GetData());
                }

                tran.Commit();
            }
        }
Example #7
0
        public async Task <IActionResult> Edit(int id, [Bind("IdTowaru,Kod,Nazwa,Cena,FotoURL,Opis,Promocja,IdRodzaju")] Towar towar)
        {
            if (id != towar.IdTowaru)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(towar);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TowarExists(towar.IdTowaru))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(towar));
        }
Example #8
0
        private void DokumentPrzyjecie_Load(object sender, EventArgs e)
        {
            DocumentList faktura = new DocumentList();
            Document fakturaData = faktura.ShowItem(documentId, DokType.FA);

            //label2.Text = fakturaData.Type + "/" + fakturaData.Year + "/" + fakturaData.Series;
            label2.Text = fakturaData.GIDNumer;
            label4.Text = fakturaData.Date.ToString();

            _source.Clear();
            for (int j = 0; j < fakturaData.Elements._towarList.Count; j++)
            {
                Towar temp = new Towar(
                    fakturaData.Elements._towarList[j].Nazwa,
                    fakturaData.Elements._towarList[j].Cena,
                    fakturaData.Elements._towarList[j].Vat,
                    fakturaData.Elements._towarList[j].Jm,
                    fakturaData.Elements._towarList[j].Nr_kat,
                    fakturaData.Elements._towarList[j].Stan,
                    fakturaData.Elements._towarList[j].Id
                    );
                _source.Add(temp);
            }

            dataGridView1.DataSource = _source;
        }
Example #9
0
        public override decimal DodajPozycjeDoDokumentu()
        {
            List <decimal> iloscSztukTowaru = new List <decimal>();

            foreach (Towar twr in ListaProduktow)
            {
                Towar towar = new Towar()
                {
                    Kod       = twr.Kod,
                    Ilosc     = twr.Ilosc,
                    DostawaId = twr.DostawaId,
                    Cena      = twr.Cena
                };
                iloscSztukTowaru.Add(towar.DodajDoDokumentu(this));
                info.Komunikat     = null;
                info.IleUkonczono += 1;
                NotifyObservers(info);
            }

            if (iloscSztukTowaru.Sum() != ListaProduktow.Sum(wartosc => wartosc.Ilosc))
            {
                info.Komunikat = NazwaDokumentu + ": Ilość na dokumencie różni się od ilości zadeklarowanej przez przez użytkownika. Dokument zostanie usunięty.";
                info.Sukces    = false;
                info.Rodzic    = false;
                NotifyObservers(info);
                ZamknijDokument(-1);
                wyniki.Add(1);
                return(iloscSztukTowaru.Sum());
            }
            return(0);
        }
        public ActionResult editItem(Towar item, int id = 0)
        {
            if (id <= 0)
            {
                return(Json(new { error = "Brak wyników wyszukiwania" }));
            }

            if (ModelState.IsValid)
            {
                int shopid     = GlobalMethods.GetShopId(WebSecurity.CurrentUserId, context, WebSecurity.IsAuthenticated, Session);
                var itemToEdit = (from p in context.Towary
                                  where p.ID_Towaru == id && p.ID_sklepu == shopid && p.isDeleted == false && p.Produkt.isDeleted == false
                                  select p).FirstOrDefault();
                if (itemToEdit == null)
                {
                    return(Json(new { error = "Brak wyników wyszukiwania" }));
                }

                itemToEdit.Ilosc         = item.Ilosc;
                itemToEdit.Cena          = item.Cena;
                itemToEdit.Data_waznosci = item.Data_waznosci;


                context.SaveChanges();
                return(RedirectToAction("page", "sellerpanel"));
            }

            return(Json(new { error = "Wszystkie pola są wymagane!" }));
        }
        public ActionResult AddPromotion(Promo promo)
        {
            if (promo == null || promo.id == 0)
            {
                return(Json(new { success = false }));
            }
            int shopid = GlobalMethods.GetShopId(WebSecurity.CurrentUserId, context, WebSecurity.IsAuthenticated, Session);

            Towar towar = context.Towary.Find(promo.id);

            towar.Cena = promo.new_price;
            if (context.Promocje.Any(o => o.ID_towaru == promo.id && o.ID_sklepu == shopid))
            {
                Promocja promocja = (from p in context.Promocje
                                     where p.ID_sklepu == shopid && p.ID_towaru == promo.id
                                     select p).First();
                promocja.cena_promo = Convert.ToDecimal(promo.new_price);
            }
            else
            {
                Promocja promocja = new Promocja();
                promocja.ID_towaru    = promo.id;
                promocja.ID_sklepu    = towar.ID_sklepu;
                promocja.Sklep        = towar.Sklep;
                promocja.ID_kategorii = towar.Produkt.ID_kategorii;
                promocja.Kategoria    = towar.Produkt.Kategoria;
                promocja.cena_promo   = Convert.ToDecimal(promo.new_price);
                promocja.Towar        = towar;
                context.Promocje.Add(promocja);
            }

            context.SaveChanges();
            return(Json(new { success = true }));
        }
Example #12
0
        public BindingList <Towar> PodajWszystkieTowary()
        {
            var dane = Aplikacja.TowaryManager.OtworzKolekcje();


            var rezultat = new BindingList <Towar>();

            foreach (dynamic dana in dane)
            {
                if (dana.Aktywny)
                {
                    decimal cena = 0m;
                    foreach (var item in dana.Ceny)
                    {
                        if (item.Nazwa.Equals("Detaliczna"))
                        {
                            cena = item.Brutto;
                        }
                    }
                    var danaDoTabeli = new Towar(dana.Identyfikator, dana.Nazwa, cena, dana.Symbol, dana.Opis);
                    rezultat.Add(danaDoTabeli);
                }
            }
            return(rezultat);
        }
Example #13
0
        public bool UtworzTowar(TowarModel towarModel)
        {
            using (Session s = hm.Session.Login.CreateSession(false, true))
            {
                var tw = TowaryModule.GetInstance(s);
                using (ITransaction t = s.Logout(true))
                {
                    var nowyTowar = new Towar()
                    {
                        Nazwa = towarModel.Nazwa,
                        Kod   = towarModel.Kod,
                        EAN   = towarModel.EAN
                    };
                    tw.Towary.AddRow(nowyTowar);

                    nowyTowar.Jednostka = tw.Jednostki.WgKodu[towarModel.Jednostka];

                    var defCeny = tw.DefinicjeCen.WgNazwy["Podstawowa"];
                    nowyTowar.Jednostka = tw.Jednostki.WgKodu[towarModel.Jednostka];
                    nowyTowar.Ceny[tw.DefinicjeCen.WgNazwy["Podstawowa"]].Netto = new Soneta.Types.DoubleCy(towarModel.Cena, "PLN");

                    t.Commit();
                }
                s.Save();
            }

            return(true);
        }
Example #14
0
        public ActionResult DeleteConfirmed(int id)
        {
            Towar towar = db.Towars.Find(id);

            db.Towars.Remove(towar);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #15
0
 private void GetTyp(string nazwa)
 {
     try
     {
         IdTypu = Towar.GetIdTypuTowaru(nazwa);
     }
     catch (Exception ex) { dialog.ShowError(ex); log.Error(ex); throw ex; }
 }
Example #16
0
        private void dodajTowarDoPozycji(PozycjaAnalizyZwrotu pozycja, Towar towar, double ilosc)
        {
            pozycja.ilosc -= ilosc;
            var nowaPozycja = new PozycjaAnalizyZwrotu(this, towar, ilosc);

            this.Pozycje.Add(nowaPozycja);
            this.initDokumenty(nowaPozycja);
        }
Example #17
0
 internal static void UsunTypTowaru(TypTowaruVM typ)
 {
     try
     {
         Towar.UsunTypTowaru(typ.Typ);
     }
     catch (Exception ex) { log.Error(ex); throw ex; }
 }
Example #18
0
 private void GetMarka(string nazwa)
 {
     try
     {
         IdMarki = Towar.GetIdMarkiTowaru(nazwa);
     }
     catch (Exception ex) { dialog.ShowError(ex); log.Error(ex); throw ex; }
 }
Example #19
0
        private void zamienTowarPozycji(PozycjaAnalizyZwrotu pozycja, Towar nowyTowar)
        {
            this.Pozycje.Remove(pozycja);
            var nowaPozycja = new PozycjaAnalizyZwrotu(this, nowyTowar, pozycja.Ilosc);

            this.Pozycje.Add(nowaPozycja);
            this.initDokumenty(nowaPozycja);
        }
Example #20
0
 internal static void UsunMarkeTowaru(MarkaTowaruVM marka)
 {
     try
     {
         Towar.UsunMarkeTowaru(marka.Marka);
     }
     catch (Exception ex) { log.Error(ex); throw ex; }
 }
Example #21
0
 public PozycjaAnalizyZwrotu(AnalizaZwrotu analizaZwrotu, Towar towar, double ilosc)
 {
     this.guid          = Guid.NewGuid();
     this.analizaZwrotu = analizaZwrotu;
     this.towar         = towar;
     this.ilosc         = ilosc;
     this.dokumenty     = new DokumentyAnalizyZwrotu(this.analizaZwrotu);
 }
Example #22
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBox1.Text == "") throw new Exception("Numer nie może być pusty");
                if (textBox2.Text == "") throw new Exception("Seria nie może być pusta");

                if (button1.Text == "Przyjmij")
                {
                    bool flag = true;
                    DokPrzyjecie k = new DokPrzyjecie();
                    try
                    {

                        k.Id = Convert.ToInt32(textBox1.Text);
                        k.Series = Convert.ToInt32(textBox2.Text.ToString());
                        k.Date = dateTimePicker1.Value;
                        k.Year = dateTimePicker1.Value.Year;

                        int tempCounter = 0;
                        foreach(int i in chooseProductsList)
                        {
                            Towar temp = new Towar(
                                listaTowarow.Pick(i).Nazwa,
                                listaTowarow.Pick(i).Cena,
                                listaTowarow.Pick(i).Vat,
                                listaTowarow.Pick(i).Jm,
                                listaTowarow.Pick(i).Nr_kat,
                                Convert.ToInt32(dataGridView1.Rows[tempCounter].Cells[3].Value),
                                listaTowarow.Pick(i).Id
                                );
                            k.Elements._towarList.Add(temp);
                            tempCounter++;
                        }

                        k.ClientName = "Magazyn";

                    }
                    catch (Exception msg)
                    {
                        MessageBox.Show(msg.Message.ToString());
                        flag = false;
                    }
                    if (flag)
                    {
                        k.Execute();
                        MessageBox.Show("Przyjęto towary!");
                        ListaTowarow.Instance.MarkAsChanged();
                        this.Close();
                    }
                }
            }
            catch (Exception err)
            {
                MessageBox.Show("Błąd! " + err.Message);
            }
        }
        public void dodajTowar(string nazwa_towaru, int ilosc_towaru, int cena, int nr_magazynu)
        {
            Operacje_na_bazie operacja = new Operacje_na_bazie();
            int   id_towaru            = operacja.getTowarId();
            Towar towar = new Towar(id_towaru, nazwa_towaru, ilosc_towaru, cena, nr_magazynu);

            operacja.DodajTowaryDoBazy(towar);
            operacja.CloseConnection();
        }
Example #24
0
 private void DodajTypTowaru()
 {
     try
     {
         Towar.ZapiszNowyTypTowaru(nowyTypTowaru.Nazwa);
         RaisePropertyChanged("ListaTypowTowarow");
     }
     catch (Exception ex) { dialog.ShowError(ex, "B³¹d zapisu typu towaru"); log.Error(ex); throw ex; }
     finally { NowyTypTowaru = new TypTowaruVM(); }
 }
Example #25
0
        public ActionResult id(int id = 0)
        {
            Towar product = context.Towary.Find(id);

            if (product == null)
            {
                return(HttpNotFound());
            }
            return(View(product));
        }
Example #26
0
 public ActionResult Edit([Bind(Include = "IdTowaru,Nazwa,Kod,Cena,FotoUrl,Opis,Promocja,IdRodzaju")] Towar towar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(towar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("AdminIndex"));
     }
     return(View(towar));
 }
Example #27
0
 public ActionResult Edit([Bind(Include = "Id,name,price,description,url")] Towar towar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(towar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(towar));
 }
Example #28
0
 public PozycjeDokHan this[Towar towar]
 {
     get
     {
         return(new PozycjeDokHan()
         {
             BaseQuery = GetQuery(Table.BaseQuery.Where(p => p.Towar.ID == towar.ID))
         });
     }
 }
Example #29
0
        public async Task <IActionResult> Create([Bind("IdTowaru,Kod,Nazwa,Cena,FotoURL,Opis,Promocja,IdRodzaju")] Towar towar)
        {
            if (ModelState.IsValid)
            {
                _context.Add(towar);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(towar));
        }
Example #30
0
        public ActionResult Create([Bind(Include = "IdTowaru,Nazwa,Kod,Cena,FotoUrl,Opis,Promocja,IdRodzaju")] Towar towar)
        {
            if (ModelState.IsValid)
            {
                db.Towary.Add(towar);
                db.SaveChanges();
                return(RedirectToAction("AdminIndex"));
            }

            return(View(towar));
        }
Example #31
0
 public ActionResult Edit([Bind(Include = "Id,Nazwa,Kategoria_Id")] Towar towar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(towar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Kategoria_Id = new SelectList(db.Kategorias, "Id", "Nazwa", towar.Kategoria_Id);
     return(View(towar));
 }
 public ActionResult Edit([Bind(Include = "IdTowaru,Nazwa,Kod,Cena,FotoUrl,KrotkiOpis,Opis,OfertaSpecjalna,IdRodzaju")] Towar towar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(towar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.IdRodzaju = new SelectList(db.Rodzaje, "IdRodzaju", "Nazwa", towar.IdRodzaju);
     return(View(towar));
 }
Example #33
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBox1.Text == "") throw new Exception("Numer nie może być pusty");
                if (textBox2.Text == "") throw new Exception("Seria nie może być pusta");

                if (button1.Text == "Wydaj")
                {
                    bool flag = true;
                    DokWydanie k = new DokWydanie();
                    try
                    {

                        k.Id = Convert.ToInt32(textBox1.Text);
                        k.Series = Convert.ToInt32(textBox2.Text.ToString());
                        k.Date = dateTimePicker1.Value;
                        k.Year = dateTimePicker1.Value.Year;

                        int tempCounter = 0;
                        foreach(int i in chooseProductsList)
                        {
                            if (listaTowarow.Pick(i).Stan < Convert.ToInt32(dataGridView1.Rows[tempCounter].Cells[3].Value))
                                throw new Exception("Ilość pozycji \"" + listaTowarow.Pick(i).Nazwa + "\" nie może być większa niż " + listaTowarow.Pick(i).Stan);
                            Towar temp = new Towar(
                                listaTowarow.Pick(i).Nazwa,
                                listaTowarow.Pick(i).Cena,
                                listaTowarow.Pick(i).Vat,
                                listaTowarow.Pick(i).Jm,
                                listaTowarow.Pick(i).Nr_kat,
                                Convert.ToInt32(dataGridView1.Rows[tempCounter].Cells[3].Value),
                                listaTowarow.Pick(i).Id
                                );
                            k.Elements._towarList.Add(temp);
                            tempCounter++;
                        }

                        k.ClientName = listaKontrahentow.Pick(clientId).Nazwa;
                        k.ClientAddress = listaKontrahentow.Pick(clientId).Adres;
                        k.ClientNIP = listaKontrahentow.Pick(clientId).Nip.ToString();
                        k.ClientRegon = listaKontrahentow.Pick(clientId).Regon.ToString();
                        k.ClientPesel = listaKontrahentow.Pick(clientId).Pesel.ToString();

                    }
                    catch (Exception msg)
                    {
                        MessageBox.Show(msg.Message.ToString());
                        flag = false;
                    }
                    if (flag)
                    {

                        k.Execute();
                        MessageBox.Show("Wydano towary!");
                        ListaTowarow.Instance.MarkAsChanged();
                        this.Close();
                    }
                }
            }
            catch (Exception err)
            {
                MessageBox.Show("Błąd! " + err.Message);
            }
        }
Example #34
0
        private void button3_Click(object sender, EventArgs e)
        {
            Towary2 chooseProducts = new Towary2(chooseProductsList);
            chooseProducts.ShowDialog(this);

            _source.Clear();

            foreach (int i in chooseProductsList)
            {
                Towar temp = new Towar(
                    listaTowarow.Pick(i).Nazwa,
                    listaTowarow.Pick(i).Cena,
                    listaTowarow.Pick(i).Vat,
                    listaTowarow.Pick(i).Jm,
                    listaTowarow.Pick(i).Nr_kat,
                    listaTowarow.Pick(i).Stan,
                    listaTowarow.Pick(i).Id
                    );
                _source.Add(temp);
            }

            dataGridView1.DataSource = _source;
        }