public async Task <MessageViewModel> CreateTrade(int estateObjectId, int managerId) { using (Agency db = new Agency()) { MessageViewModel model = new MessageViewModel(); Request request = await db.Requests.FirstOrDefaultAsync(f => f.EstateObjectId == estateObjectId); EstateObject eo = await db.EstateObjects.FirstOrDefaultAsync(f => f.Id == estateObjectId); if (eo.StatusId == 2) { eo.StatusId = 3; Trade trade = new Trade { EstateObjectId = request.EstateObjectId, ClientId = request.ClientId, ManagerId = managerId, Date = DateTime.Now }; db.Trades.Add(trade); request.TradeId = trade.Id; await db.SaveChangesAsync(); } else { model.Type = "Ошибка"; model.Message = "Очевидно, другой менеджер только что рассмотрел эту заявку, или её отменили."; } return(model); } }
public async Task <MessageViewModel> CreateRequest(int clientId, int estateObjectId) { using (Agency db = new Agency()) { MessageViewModel message = new MessageViewModel(); EstateObject eo = await db.EstateObjects.FirstOrDefaultAsync(f => f.Id == estateObjectId); if (eo.StatusId == 1) { eo.StatusId = 2; Request request = new Request { EstateObjectId = estateObjectId, ClientId = clientId }; db.Requests.Add(request); await db.SaveChangesAsync(); message.Type = "Заявка подана на рассмотрение!"; message.Message = "Обновите страницу Активные заявки"; } else { message.Type = "Ошибка"; message.Message = "К сожалению, кто-то только что купил этот объект недвижимости. Рекомендуем выбрать другой вариант."; } return(message); } }
public async Task <EstateObjectViewModel> Model(EstateObject eo) { List <Picture> pictures = await EstateObjectsRepository.Pictures(eo.Id); EstateObjectViewModel model = new EstateObjectViewModel { Id = eo.Id, Price = eo.Price, Address = eo.Address, Description = eo.Description, Area = eo.Area, Rooms = eo.Rooms, LandDescription = eo.LandDescription, LandArea = eo.LandArea, District = eo.District.Name, RealtyType = eo.RealtyType.Name, TradeType = eo.TradeType.Name, Owner = eo.Owner.Phone, Pictures = pictures, RealtyTypeId = eo.RealtyTypeId, TradeTypeId = eo.TradeTypeId, DistrictId = eo.DistrictId, OwnerId = eo.OwnerId, RealtyTypes = PrepareRealtyTypes(), TradeTypes = PrepareTradeTypes(), Districts = PrepareDistricts(), Owners = PrepareOwners(), }; return(model); }
public async Task <EstateObject> UpdateEstateObject(EstateObject estateObject) { using (Agency db = new Agency()) { db.Entry(estateObject).State = EntityState.Modified; await db.SaveChangesAsync(); } return(estateObject); }
public async Task <EstateObject> GetEstateObject(int id) { EstateObject result = null; using (Agency db = new Agency()) { result = await db.EstateObjects.FirstOrDefaultAsync(f => f.Id == id); } return(result); }
public async Task <EstateObject> AddEstateObject(EstateObject estateObject) { EstateObject result = null; using (Agency db = new Agency()) { result = db.EstateObjects.Add(estateObject); await db.SaveChangesAsync(); } return(result); }
public async Task DeleteRequest(int estateObjectId) { using (var db = new Agency()) { Request result = await db.Requests.FirstOrDefaultAsync(f => f.EstateObjectId == estateObjectId); EstateObject eo = await db.EstateObjects.FirstOrDefaultAsync(f => f.Id == estateObjectId); eo.StatusId = 1; db.Requests.Remove(result); await db.SaveChangesAsync(); } }
public async Task <List <EstateObjectViewModel> > GetEstateObjectViewModels(List <EstateObject> estateObjects) { using (Agency db = new Agency()) { List <EstateObjectViewModel> list = new List <EstateObjectViewModel>(); foreach (var ob in estateObjects) { EstateObject eo = await db.EstateObjects.FirstOrDefaultAsync(f => f.Id == ob.Id); list.Add(await Model(eo)); } return(list); } }
public async Task DeleteTrade(int estateObjectId) { using (Agency db = new Agency()) { EstateObject eo = await db.EstateObjects.FirstOrDefaultAsync(f => f.Id == estateObjectId); eo.StatusId = 1; Trade trade = await db.Trades.FirstOrDefaultAsync(f => f.EstateObjectId == estateObjectId); db.Trades.Remove(trade); await db.SaveChangesAsync(); } }
public async Task <TradeRequestViewModel> Model(EstateObject eo) { using (Agency db = new Agency()) { Trade trade = await db.Trades.FirstOrDefaultAsync(f => f.EstateObjectId == eo.Id); TradeRequestViewModel model = new TradeRequestViewModel(); model = new TradeRequestViewModel { EstateObjectId = eo.Id, ClientId = trade.ClientId, ManagerId = trade.ManagerId, TradeId = Convert.ToInt32(trade.Id), Price = eo.Price, Address = eo.Address, Description = eo.Description, Area = eo.Area, Rooms = eo.Rooms, LandDescription = eo.LandDescription, LandArea = eo.LandArea, District = eo.District.Name, RealtyType = eo.RealtyType.Name, TradeType = eo.TradeType.Name, Owner = eo.Owner.Surname + " " + eo.Owner.Name + " " + eo.Owner.Patronymic + ": " + eo.Owner.Phone, ClientEmail = trade.Client.Email, ClientName = trade.Client.Surname + " " + trade.Client.Name + " " + trade.Client.Patronymic, ClientPhone = trade.Client.Phone, ManagerEmail = trade.Manager.Email, ManagerName = trade.Manager.Surname + " " + trade.Manager.Name + " " + trade.Manager.Patronymic, ManagerPhone = trade.Manager.Phone, Date = trade.Date, PaymentInstruments = PreparePaymentInstruments(), PaymentTypes = PreparePaymentTypes(), RealtyTypeId = eo.RealtyTypeId }; if (trade.PaymentInstrument != null) { model.PaymentInstrument = trade.PaymentInstrument.Name; model.PaymentType = trade.PaymentType.Name; } return(model); } }
public async Task <List <TradeRequestViewModel> > GetTrades(DateTime firstDate, DateTime secondDate) { using (Agency db = new Agency()) { var trades = from Trade in db.Trades where Trade.Date >= firstDate && Trade.Date <= secondDate select Trade; var myTrades = new List <TradeRequestViewModel>(); foreach (Trade trade in trades) { EstateObject eo = await db.EstateObjects.FirstOrDefaultAsync(f => f.Id == trade.EstateObjectId); TradeRequestViewModel model = await Model(eo); myTrades.Add(model); } return(myTrades); } }
public async Task <List <TradeRequestViewModel> > AllTrades() { using (Agency db = new Agency()) { var trades = from Trade in db.Trades select Trade; var myTrades = new List <TradeRequestViewModel>(); foreach (Trade trade in trades) { EstateObject eo = await db.EstateObjects.FirstOrDefaultAsync(f => f.Id == trade.EstateObjectId); TradeRequestViewModel model = await Model(eo); myTrades.Add(model); } myTrades.Reverse(); return(myTrades); } }
public async Task UpdateTrade(int estateObjectId, int paymentTypeId, int paymentInstrument) { using (var db = new Agency()) { Request request = await db.Requests.FirstOrDefaultAsync(f => f.EstateObjectId == estateObjectId); EstateObject eo = await db.EstateObjects.FirstOrDefaultAsync(f => f.Id == estateObjectId); eo.StatusId = 4; int tradeId = Convert.ToInt32(request.TradeId); Trade trade = await db.Trades.FirstOrDefaultAsync(f => f.Id == tradeId); trade.PaymentTypeId = paymentTypeId; trade.PaymentInstrumentId = paymentInstrument; db.Requests.Remove(request); await db.SaveChangesAsync(); } }
public async Task <EstateObject> EstateObject(EstateObjectViewModel model) { List <Picture> pictures = await EstateObjectsRepository.Pictures(model.Id); EstateObject eo = new EstateObject { Id = model.Id, Price = model.Price, Address = model.Address, Description = model.Description, Area = model.Area, Rooms = model.Rooms, LandDescription = model.LandDescription, LandArea = model.LandArea, RealtyTypeId = model.RealtyTypeId, TradeTypeId = model.TradeTypeId, DistrictId = model.DistrictId, OwnerId = model.OwnerId, StatusId = 1, }; return(eo); }
public async Task <MessageViewModel> RejectRequest(int id) { using (Agency db = new Agency()) { MessageViewModel message = new MessageViewModel(); EstateObject eo = await db.EstateObjects.FirstOrDefaultAsync(f => f.Id == id); if (eo.StatusId == 2) { eo.StatusId = 1; Request req = await db.Requests.FirstOrDefaultAsync(f => f.EstateObjectId == id); db.Requests.Remove(req); await db.SaveChangesAsync(); } else { message.Type = "Ошибка"; message.Message = "Очевидно, другой менеджер только что рассмотрел эту заявку, или её отменили."; } return(message); } }
private void buttonAdd_Click(object sender, EventArgs e) { try { int idEstate = estateObject.idEstate; var ctx = ClassGetContext.context; estateObject = new EstateObject { idEstate = idEstate, city = textBoxCity.Text, street = textBoxStreet.Text, house = textBoxHouse.Text, addressNumber = textBoxApart.Text, floor = Convert.ToInt32(string.IsNullOrEmpty(textBoxFloor.Text) ? "0" : textBoxFloor.Text), totalArea = numArea.Value, totalFloors = Convert.ToInt32(numTotalFloor.Value), rooms = Convert.ToInt32(numTotalRooms.Value), longitude = numLongit.Value, latitude = numLatit.Value, typeEstate = comboBoxEstateEdit.Text, }; ctx.EstateObjects.Add(estateObject); ctx.SaveChanges(); using (var form = new FormMessage("Недвижимость добавлена", ChangePic.success)) form.ShowDialog(); FillTable(ctx.EstateObjects.ToList()); BoxesVision(); } catch { using (var form = new FormMessage("Что-то пошло не так...", ChangePic.error)) form.ShowDialog(); } }
public async Task <EstateObject> UpdateEstateObject(EstateObject estateObject) { return(await _estateObjectsRepository.UpdateEstateObject(estateObject)); }