public async Task <ActionResult> Create([FromBody] HireViewModel model) { if (model == null) { return(NotFound()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var hire = await _service.HireItem(model); return(Ok(new { hire.HireId })); } catch (ItemNotFoundException) { ModelState.AddModelError("ItemId", ErrorMessages.ItemNotFound); return(BadRequest(ModelState)); } catch (ItemNotAvailableException) { ModelState.AddModelError("ItemId", ErrorMessages.ItemNotAvailable); return(BadRequest(ModelState)); } catch (UserNotFoundException) { ModelState.AddModelError("UserId", ErrorMessages.UserNotFound); return(BadRequest(ModelState)); } }
public ActionResult EditReservation(int reservationId) { var userReservations = hireEquipmentService.GetHires().First(x => x.Id == reservationId); var statusesToSelect = new List <SelectListItem>(); statusesToSelect.Add(new SelectListItem() { Text = "Wypozyczony" }); statusesToSelect.Add(new SelectListItem() { Text = "Zarezerwowany" }); statusesToSelect.Add(new SelectListItem() { Text = "Do odbioru" }); statusesToSelect.Add(new SelectListItem() { Text = "Oddany" }); var model = new HireViewModel() { Hire = Mapper.Map <EquipmentViewModel>(userReservations), StateSelections = statusesToSelect }; return(View(model)); }
public async Task <HireDto> HireItem(HireViewModel model) { var user = await _context.Users.FindAsync(model.UserId); if (user == null) { throw new UserNotFoundException(); } var item = await _context.Items.FindAsync(model.ItemId); if (item == null) { throw new ItemNotFoundException(); } if (!item.IsAvailable) { throw new ItemNotAvailableException(); } var reservation = await _context.Reservations.Where(r => r.ItemId == item.ItemId && r.UserId == user.UserId) .ToListAsync(); foreach (var element in reservation) { _context.Remove(element); } var hire = new Hire(DateTime.Now, user, item); await _context.Hires.AddAsync(hire); item.IsAvailable = false; await _context.SaveChangesAsync(); return(new HireDto(hire)); }
public ActionResult Hire(int id) { if (id == 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Islem islem = db.Islem.Find(id); if (islem == null) { return(HttpNotFound()); } var cari = db.Cari.Find(islem.Cari_ID); ViewBag.CariBilgisi = cari.Cari_AdSoyad; var arac = db.viewAracList.First(x => x.Arac_ID == islem.Arac_ID); ViewBag.AracBilgisi = arac.AracMarka_Adi + " " + arac.AracModel_Adi + " (" + arac.AracPlakaNo + ")"; HireViewModel model = new HireViewModel { Islem_TahsilEdilen = islem.Islem_KalanBorc, Tahsilat_Aciklama = "Rezervasyondan Kiralamaya geçerken tahsil edildi.", }; return(View(model)); }
public int InsertHire(HireViewModel hvm) { Hire hr = new Hire(); hr.Tutorid = hvm.Tutorid; hr.StudentId = hvm.StudentId; hr.ScheduleId = hvm.ScheduleId; hr.StartDate = hvm.StartDate; hr.EndDate = hvm.EndDate; hr.TotalFee = hvm.TotalFee; _db.Hires.Add(hr); return(_db.SaveChanges()); }
public ActionResult ConfirmReservation(HireViewModel model) { switch (model.SelectedStatus) { case "Oddany": hireEquipmentService.CancelReservation(model.Hire.Id); break; default: hireEquipmentService.EditReservation(model.Hire.Id, model.SelectedStatus); break; } return(RedirectToAction("Index")); }
[ValidateAntiForgeryToken] //防止跨站请求攻击 public IActionResult HireInfo(HireViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { //写入数据库 待审核 //1.数据转换 var dbModel = (HireData)model; //2.写入数据库 _db.HireData.Add(dbModel); _db.SaveChanges(); return(RedirectToLocal(returnUrl)); } return(View()); }
public ActionResult BookNow(HireViewModel hrv) { // Session.Add("hireid", Request.QueryString["id"].ToString()); hrv.ScheduleId = Convert.ToInt32(Session["scheduleid"].ToString()); hrv.Tutorid = Convert.ToInt32(Session["teacherid"].ToString()); hrv.StudentId = Convert.ToInt32(Session["studentid"].ToString()); hrdb.InsertHire(hrv); ScheduleViewModel svm = new ScheduleViewModel(); svm.ScheduleId = Convert.ToInt32(Session["scheduleid"].ToString()); svm.Status = "Closed"; sdb.UpdateScheduleStatus(svm); ViewBag.Message = "Teacher Booked Successfully"; return(View()); }
public bool Hire([FromBody] HireViewModel model) { if (model is null || !model.IsValid()) { return(false); } var aspirant = _dbContext.Candidatos.Include(x => x.Puesto).FirstOrDefault(x => x.CandidatoId == model.CandidatoId); if (aspirant is null) { return(false); } bool exists = _dbContext.Empleados.Any(x => (x.Cedula == aspirant.Cedula || x.Correo.ToUpper() == aspirant.Correo) && x.Estado == Estado.Activo); if (exists) { return(false); } var employee = new Empleado { Nombre = aspirant.Nombre, Apellidos = aspirant.Apellidos, Cedula = aspirant.Cedula, Correo = aspirant.Correo, Puesto = aspirant.Puesto, Salario = aspirant.SalarioAspira, Estado = aspirant.Estado, FechaIngreso = DateTime.Now, Candidato = aspirant }; aspirant.Estado = Estado.Inactivo; _dbContext.Empleados.Add(employee); _dbContext.SaveChanges(); return(true); }
public ActionResult Hire(HireViewModel model, int id) { Islem islem = db.Islem.Find(id); if (ModelState.IsValid) { islem.Islem_TahsilEdilen += model.Islem_TahsilEdilen ?? 0; islem.Islem_KalanBorc -= model.Islem_TahsilEdilen ?? 0; var truncated = $"{islem.Islem_ID} Id'li İşlem: {model.Tahsilat_Aciklama}"; if (truncated.Length > 500) { truncated = truncated.Substring(0, 500); } KasaIslem tahsilat = new KasaIslem { KasaIslem_Aciklama = truncated, KasaIslem_CreateDate = DateTime.Now, KasaIslem_Tarih = DateTime.Now, KasaIslem_Tutar = model.Islem_TahsilEdilen ?? 0, OdemeTipi_ID = (int)model.OdemeTipi_ID, KasaIslem_Tipi = (int)KasaIslemTipi.Gelir }; db.KasaIslem.Add(tahsilat); islem.Islem_Tipi = (int)IslemTipi.Kiralama; Arac a = db.Arac.Find(islem.Arac_ID); a.AracKiralamaDurumu = (int)AracDurumu.Musteride; db.SaveChanges(); return(RedirectToAction("Index")); } var cari = db.Cari.Find(islem.Cari_ID); ViewBag.CariBilgisi = cari.Cari_AdSoyad; var arac = db.viewAracList.First(x => x.Arac_ID == islem.Arac_ID); ViewBag.AracBilgisi = arac.AracMarka_Adi + " " + arac.AracModel_Adi + " (" + arac.AracPlakaNo + ")"; return(View(model)); }
public ActionResult BookNow(int id) { Session.Add("scheduleid", id.ToString()); HireViewModel hrv = new HireViewModel(); DateTime todaydate = DateTime.Today; hrv.StartDate = todaydate; DateTime enddate = DateTime.Today.AddDays(30); hrv.EndDate = DateTime.Today.AddMonths(1); TutorViewModel tvm = tdb.GetTutorbyTutorId(Convert.ToInt32(Session["teacherid"].ToString())); decimal? rateperhour = tvm.HourlyRate; hrv.TotalFee = rateperhour * 30; return(View(hrv)); }