Пример #1
0
		private void takeDataCuti(ViewModelCuti datacuti)
		{
			var masterLevel = db.levels.Where(x => x.levelID == datacuti.level).Single();
			var sisaCuti = db.sisaSaldoCutis.Where(x => x.employeeID == lvm.employeeId && x.year == DateTime.Now.Year).Single();

			datacuti.saldoCuti = masterLevel.saldoCuti;
			datacuti.saldoCuti2 = masterLevel.saldoCuti2;
			datacuti.saldoCuti3 = masterLevel.saldoCuti3;
			datacuti.saldoCuti4 = masterLevel.saldoCuti4;

			datacuti.amount = sisaCuti.amount;
			datacuti.amount2 = sisaCuti.amount2;
			datacuti.amount3 = sisaCuti.amount3;
			datacuti.amount4 = sisaCuti.amount4;

			datacuti.countedApproved = sisaCuti.countedApproved;
			datacuti.countedApproved2 = sisaCuti.countedApproved2;
			datacuti.countedApproved3 = sisaCuti.countedApproved3;
			datacuti.countedApproved4 = sisaCuti.countedApproved4;
		}
Пример #2
0
		public ActionResult Create(ViewModelCuti dataCuti)
		{
			var buch = "tampan";
			if (acm.cekSession() == false)
				return RedirectToAction("Logout", "Account");

			lvm = Session["sessionUserLogin"] as LoginViewModel.userLogin;
			if (acm.cekValidation(Url.Action().ToString()) == false && lvm.isAdmin == false)
				return RedirectToAction("NotAuthorized", "Account", new { menu = Url.Action().ToString() });

			var timespan = dataCuti.leaveEndDate - dataCuti.leaveStartDate;
			var JumlahPermintaan = timespan.Days + 1; //belum dihitung hari libur

			int cutidiharilibur = FindCutiInHoliday(dataCuti.leaveStartDate, dataCuti.leaveEndDate); //jumlah cuti di hari libur pada tanggal yg diminta

			dataCuti.cutiInHoliday = cutidiharilibur;
			JumlahPermintaan = JumlahPermintaan - cutidiharilibur;
			
			var jumsisacuti = 0;
			if (dataCuti.category.Equals("tahunan"))
			{
				jumsisacuti = dataCuti.amount;
			}
			else if (dataCuti.category.Equals("persalinan"))
			{
				jumsisacuti = dataCuti.amount2;
			}
			else if (dataCuti.category.Equals("kemalangan"))
			{
				jumsisacuti = dataCuti.amount3;
			}
			else if (dataCuti.category.Equals("lain-lain"))
			{
				jumsisacuti = dataCuti.amount4;
			}


			if (JumlahPermintaan > jumsisacuti)
			{
				ModelState.AddModelError("leaveEndDate", "Jatah cuti tidak mencukupi permintaan anda");
			}

			if (DateTime.Compare(dataCuti.leaveEndDate, dataCuti.leaveStartDate) < 0)
			{
				ModelState.AddModelError("leaveEndDate", "Tanggal akhir tidak boleh kurang dari Tanggal awal");
			}

			if (ModelState.IsValid)
			{
				var CutiRequest = new transLeaveRequest
				{
					createdDate = DateTime.Now,
					createdUser = lvm.userID,
					employeeID = dataCuti.employeeID,
					leaveStartDate = dataCuti.leaveStartDate,
					leaveEndDate = dataCuti.leaveEndDate,
					category = dataCuti.category,
					leaveDescription = dataCuti.leaveDescription,
					cutiInHoliday = dataCuti.cutiInHoliday
				};
				db.transLeaveRequests.Add(CutiRequest);
				db.SaveChanges();
				return RedirectToAction("Index");
			}

			return View(dataCuti);
		}
Пример #3
0
		// GET: /LeaveRequest/Create
		public ActionResult Create()
		{
			if (acm.cekSession() == false)
				return RedirectToAction("Logout", "Account");

			lvm = Session["sessionUserLogin"] as LoginViewModel.userLogin;
			if (acm.cekValidation(Url.Action().ToString()) == false && lvm.isAdmin == false)
				return RedirectToAction("NotAuthorized", "Account", new { menu = Url.Action().ToString() });

			var DataCuti = new ViewModelCuti();

			DataCuti.employeeID = lvm.employeeId;
			DataCuti.employeeName = string.Empty;
			if (lvm.isAdmin == true)
				loadPopUpResult(string.Empty, string.Empty, 1);
			else
			{
				DataCuti.employeeID = lvm.employeeId;
				DataCuti.employeeName = lvm.employeeName;

				var posistion = db.employeePositions.Where(x => x.employeeID == lvm.employeeId).ToList();
				var level = posistion.LastOrDefault().levelID;
				DataCuti.level = level;

				takeDataCuti(DataCuti);

			}
			return View(DataCuti);
		}