Пример #1
0
 public static string TellMeAboutStartLot(Person person, int lotId)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             db.Persons.Attach(person);
             if (db.Lots.First(elem => elem.Id == lotId).TimeStart <= DateTime.Now)
             {
                 return("Lot was started");
             }
             if (db.Tells.FirstOrDefault(elem => elem.Lot.Id == lotId && elem.Person.Id == person.Id) == null)
             {
                 db.Tells.Add(new Tell()
                 {
                     Person = person, Lot = db.Lots.First(elem => elem.Id == lotId)
                 });
                 db.SaveChanges();
             }
             return("You will know about start event");
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return("Something wrong in db");
     }
 }
Пример #2
0
 public static void Write(Nettention.Proud.Message msg, AuctionContent data)
 {
     msg.Write(data.index);
     msg.Write(data.Seller);
     msg.Write(data.itemType);
     msg.Write(data.PriceType);
     msg.Write(data.Price);
     msg.Write(data.Count);
 }
Пример #3
0
        public static void Read(Nettention.Proud.Message msg, out AuctionContent data)
        {
            data = new AuctionContent();

            msg.Read(out data.index);
            msg.Read(out data.Seller);
            msg.Read(out data.itemType);
            msg.Read(out data.PriceType);
            msg.Read(out data.Price);
            msg.Read(out data.Count);
        }
Пример #4
0
 public static void TellForPersonAboutStartLot(int lotId)
 {
     Log.Logger("Work ServiceWork.TellForPersonAboutStartLot");
     using (AuctionContent db = new AuctionContent())
     {
         foreach (Tell elem in db.Tells.Where(elem => elem.Lot.Id == lotId))
         {
             PersonWork.SendMessage(db.Persons.First(), "Lot is start", "We want to tell you about start lot  " + elem.Lot.LotName + " NOW!!! Hurry up make your bet)", elem.Person);
         }
     }
     Log.Logger("Finish work ServiceWork.TellForPersonAboutStartLot");
 }
Пример #5
0
 public static void TellForPersonAboutStartLot()
 {
     Task.Run(() =>
     {
         using (AuctionContent db = new AuctionContent())
         {
             foreach (Tell elem in db.Tells.Where(elem => elem.Lot.TimeStart >= DateTime.Now))
             {
                 ClassWork.SendMessage(db.Persons.First(), "Lot is start", "We want to tell you about start lot  " + elem.Lot.LotName + " NOW!!!", elem.Person);
             }
         }
     });
 }
Пример #6
0
        static void Main(string[] args)
        {
            using (DAL.AuctionContent db = new AuctionContent())
            {
                db.Persons.Add(new Person()
                {
                    FirstName = "asd",
                    Password  = "******",
                }
                               );

                db.SaveChanges();
            }
        }
Пример #7
0
 public static Person Authorization(string email, string password)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             return(db.Persons.FirstOrDefault(elem => elem.Email == email && elem.Password == password));
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(null);
     }
 }
Пример #8
0
 public static List <Lot> NowLots()
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             return(db.Lots.Where(elem => elem.TimeStart > DateTime.Now && elem.TimeFinish < DateTime.Now).OrderBy(elem => elem.TimeStart).OrderBy(elem => elem.TimeStart).ToList());
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(null);
     }
 }
Пример #9
0
 public static List <LotHistory> GetLotHistory(int lot)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             return(db.Lots.FirstOrDefault(elem => elem.Id == lot).History.ToList());
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(null);
     }
 }
Пример #10
0
 public static List <Lot> AllLots()
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             return(db.Lots.OrderBy(elem => elem.TimeStart).ToList());
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(null);
     }
 }
Пример #11
0
 public static int LastBet(int LotId)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             return(db.Lots.First(elem => elem.Id == LotId).History.Last().Money);
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(0);
     }
 }
Пример #12
0
 public static Lot AboutLot(int LotId)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             Lot l = db.Lots.FirstOrDefault(elem => elem.Id == LotId);
             return(l);
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(null);
     }
 }
Пример #13
0
 public static bool ForgetPassword(string email, string FN)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             SendMessage(db.Persons.First(), "ForgetPassword", "Your password: " + db.Persons.First(elem => elem.Email == email && elem.FirstName == FN).Password, db.Persons.First(elem => elem.Email == email));
             return(true);
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(false);
     }
 }
Пример #14
0
 public static string ChangePassword(int PersonId, string NewPassword)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             db.Persons.First(elem => elem.Id == PersonId).Password = NewPassword;
             db.SaveChanges();
             return("Password is change");
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return("Wrong in db");
     }
 }
Пример #15
0
 public static bool AddLot(Lot lot)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             db.Lots.Add(lot);
             db.SaveChanges();
             return(true);
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(false);
     }
 }
Пример #16
0
 public static string ChangeSecondName(int PersonId, string Name)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             db.Persons.First(elem => elem.Id == PersonId).SecondName = Name;
             db.SaveChanges();
             return("Name is change");
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return("Wrong in db");
     }
 }
Пример #17
0
 public static bool ForgetPassword(string email)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             ClassWork.SendMessage(new Person()
             {
                 Email = "*****@*****.**", FirstName = "Not", SecondName = "Name"
             }, "ForgetPassword", "Your password: " + db.Persons.First(elem => elem.Email == email).Password, db.Persons.First(elem => elem.Email == email));
             return(true);
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(false);
     }
 }
Пример #18
0
        public static void Read(Nettention.Proud.Message msg, out List <AuctionContent> data)
        {
            int count = 0;

            msg.Read(out count);

            data = new List <AuctionContent>();

            for (int i = 0; i < count; i++)
            {
                AuctionContent datavalue = new AuctionContent();
                msg.Read(out datavalue.index);
                msg.Read(out datavalue.Seller);
                msg.Read(out datavalue.itemType);
                msg.Read(out datavalue.PriceType);
                msg.Read(out datavalue.Price);
                msg.Read(out datavalue.Count);
                data.Add(datavalue);
            }
        }
Пример #19
0
 public static bool AddPerson(Person person)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             if (db.Persons.FirstOrDefault(elem => elem.Email == person.Email) == null)
             {
                 db.Persons.Add(person);
                 db.SaveChanges();
                 return(true);
             }
             return(false);
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(false);
     }
 }
Пример #20
0
 public void TellForPersonAboutStartLot()
 {
     Task.Run(() =>
     {
         using (AuctionContent db = new AuctionContent())
         {
             foreach (Lot elem in db.Lots.Where(elem => elem.TellPersonsAboutStart != null && elem.TimeStart >= DateTime.Now))
             {
                 foreach (Person p in elem.TellPersonsAboutStart)
                 {
                     ClassWork.SendMessage(new Person()
                     {
                         Email = "*****@*****.**", FirstName = "Not ", SecondName = "Empty"
                     }, "Lot is start", "We want to tell you about start lot  " + elem.LotName + "Now", p);
                 }
                 elem.TellPersonsAboutStart = null;
             }
             db.SaveChanges();
         }
     });
 }
Пример #21
0
 public static bool AddLot(Lot lot, Person p)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             db.Persons.Attach(p);
             lot.WhoSale = p;
             db.Lots.Add(lot);
             db.SaveChanges();
             ServiceWork.TellAboutStartLot(lot);
             PersonWork.SendMessage(db.Persons.First(), "Auction", "Your lot " + lot.LotName + " is add. Wait for start)", p);
             return(true);
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(false);
     }
 }
Пример #22
0
 public static string LotHistory(int lotId)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             string str = "";
             Lot    h   = db.Lots.First(elem => elem.Id == lotId);
             foreach (LotHistory elem in h.History)
             {
                 str += elem.Persson.FirstName + "\t - \t" + elem.Money + "\n";
             }
             return(str);
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return("");
     }
 }
Пример #23
0
 public static string Bet(Person p, int lotId, int money)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             db.Persons.Attach(p);
             if (db.Lots.FirstOrDefault(elem => elem.Id == lotId) == null)
             {
                 return("Wrong id of lot");
             }
             if (db.Lots.FirstOrDefault(elem => elem.Id == lotId).TimeFinish < DateTime.Now)
             {
                 return("Lot is finished");
             }
             if (db.Lots.FirstOrDefault(elem => elem.Id == lotId).TimeStart > DateTime.Now)
             {
                 return("Lot is not start");
             }
             if (LastBet(lotId) != 0 && LastBet(lotId) >= money)
             {
                 return("Small bet");
             }
             LotHistory l = new LotHistory()
             {
                 Persson = p, Money = money, Lot = db.Lots.FirstOrDefault(elem => elem.Id == lotId)
             };
             db.History.Add(l);
             db.Lots.First(elem => elem.Id == lotId).History.Add(l);
             db.SaveChanges();
             return("You make Bet!)");
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return("Something wrong with db");
     }
 }
Пример #24
0
        public static void Write(Nettention.Proud.Message msg, List <AuctionContent> data)
        {
            if (data == null)
            {
                msg.Write(0);
            }
            else
            {
                msg.Write(data.Count);
            }

            for (int i = 0; i < data.Count; i++)
            {
                AuctionContent temp = data[i];

                msg.Write(temp.index);
                msg.Write(temp.Seller);
                msg.Write(temp.itemType);
                msg.Write(temp.PriceType);
                msg.Write(temp.Price);
                msg.Write(temp.Count);
            }
        }
Пример #25
0
 public static string AddPerson(Person person)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             if (db.Persons.FirstOrDefault(elem => elem.Email == person.Email) != null)
             {
                 return("This email is in db");
             }
             else
             {
                 db.Persons.Add(person);
                 db.SaveChanges();
                 return("Peron add");
             }
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return("Wrong in db");
     }
 }
Пример #26
0
 public static bool TellMeAboutStartLot(Person person, int lotId)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             if (db.Lots.First(elem => elem.Id == lotId).TimeStart <= DateTime.Now)
             {
                 return(false);
             }
             if (db.Lots.First(elem => elem.Id == lotId).TellPersonsAboutStart.Contains(person) == false)
             {
                 db.Lots.First(elem => elem.Id == lotId).TellPersonsAboutStart.Add(person);
                 db.SaveChanges();
             }
             return(true);
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(false);
     }
 }
Пример #27
0
 public static bool Bet(Person p, int lotId, int money)
 {
     try
     {
         using (AuctionContent db = new AuctionContent())
         {
             if (db.Lots.FirstOrDefault(elem => elem.Id == lotId) == null)
             {
                 return(false);
             }
             if (db.Lots.FirstOrDefault(elem => elem.Id == lotId).History.Last().Money > money)
             {
                 return(false);
             }
             if (db.Lots.FirstOrDefault(elem => elem.Id == lotId).TimeFinish < DateTime.Now)
             {
                 return(false);
             }
             if (db.Lots.FirstOrDefault(elem => elem.Id == lotId).TimeStart > DateTime.Now)
             {
                 return(false);
             }
             db.History.Add(new LotHistory()
             {
                 Persson = p, Money = money, Lot = db.Lots.FirstOrDefault(elem => elem.Id == lotId)
             });
             db.SaveChanges();
             return(true);
         }
     }
     catch (Exception ex)
     {
         Log.Logger(ex.Message);
         return(false);
     }
 }