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"); } }
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); }
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); }
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"); }
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); } } }); }
static void Main(string[] args) { using (DAL.AuctionContent db = new AuctionContent()) { db.Persons.Add(new Person() { FirstName = "asd", Password = "******", } ); db.SaveChanges(); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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"); } }
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); } }
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"); } }
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); } }
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); } }
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); } }
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(); } }); }
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); } }
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(""); } }
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"); } }
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); } }
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"); } }
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); } }
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); } }