Example #1
0
        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));
            }
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }
Example #4
0
        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));
        }
Example #5
0
        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());
        }
Example #6
0
        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"));
        }
Example #7
0
        [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());
        }
Example #8
0
        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());
        }
Example #9
0
        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);
        }
Example #10
0
        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));
        }
Example #11
0
        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));
        }