public long Insert(DayOff entity) { entity.Date = DateTime.Now; db.DayOffs.Add(entity); db.SaveChanges(); return(entity.ID); }
public ActionResult Create(DayOff dayOff) { if (ModelState.IsValid) { var dao = new DayOffDao(); //lấy id trong session đăng nhập của quản trị lưu vào phiên tạo mới user var session = (UserLogin)Session[CommonConstants.USER_SESSION]; dayOff.CreatedBy = session.UserName; dayOff.CreatedDate = DateTime.Now; long id = dao.Insert(dayOff); if (id > 0) { SetAlert("Thêm xin nghỉ thành công", "success"); return(RedirectToAction("Index", "DayOff")); } else { ModelState.AddModelError("", "Nhân viên không tồn tại"); } } SetViewBag(); SetAlert("Error", "error"); return(RedirectToAction("Index", "DayOff")); }
public long Update(DayOff entity, string username) { var dayOff = db.DayOffs.Find(entity.ID); dayOff.Employee_ID = entity.Employee_ID; dayOff.Description = entity.Description; dayOff.Status = entity.Status; if (dayOff.Status == true) { var emp = db.Employees.Find(entity.Employee_ID); emp.NumberOfDayOff = emp.NumberOfDayOff + 1; } if (entity.Date != null) { dayOff.Date = entity.Date; } //Ngày chỉnh sửa = Now dayOff.ModifiedBy = username; dayOff.ModifiedDate = DateTime.Now; db.SaveChanges(); return(entity.ID); }
public void Setup() { InitializeMocks(); InitializeLoggerMock(new DayOffsService(null, null, null)); _dayOff1 = new DayOff { Id = 1, CreatedOn = _dateTimeUtil.GetCurrentDateTime(), DayOffType = Enums.DayOffType.Vacation, Hours = 8, IsPaid = true, PersonId = 1 }; _dayOff2 = new DayOff { Id = 2, CreatedOn = _dateTimeUtil.GetCurrentDateTime().AddMonths(1), DayOffType = Enums.DayOffType.Vacation, Hours = 8, IsPaid = true, PersonId = 1 }; _dbContext.DaysOff.Add(_dayOff1); _dbContext.DaysOff.Add(_dayOff2); _dayOffsService = new DayOffsService(_dayOffRepository, _logger, _dateTimeUtil); }
public virtual async Task <int> AddAsync(DayOff dayOff) { if (dayOff is null) { throw new NullReferenceException("Day off cannot be empty"); } if (dayOff.PersonId == 0) { throw new ArgumentException("Cannot add day off record without specified person"); } if (!IsRelevantTime(dayOff.Hours)) { throw new ArgumentException("Cannot add day off record without specified time"); } if (dayOff.CreatedOn == DateTime.MinValue) { throw new ArgumentException("Cannot add day off record without specified date"); } if (_context.DaysOff.Any(e => e.CreatedOn.Date == dayOff.CreatedOn.Date && e.PersonId == dayOff.PersonId)) { return(0); } _context.DaysOff.Add(dayOff); return(await _context.SaveChangesAsync()); }
public void Setup() { InitializeMocks(); DbContextMock.ShouldThrowException = false; _person = new Person { Id = 1, }; _dbContext.People.Add(_person); _dayOff1 = new DayOff { Id = 1, CreatedOn = new DateTime(2020, 01, 01, 12, 00, 00), PersonId = _person.Id, Hours = 8, DayOffType = DayOffType.Vacation }; _dayOff2 = new DayOff { Id = 2, CreatedOn = new DateTime(2020, 01, 02, 12, 00, 00), PersonId = _person.Id, Hours = 8, DayOffType = DayOffType.Vacation }; _dbContext.DaysOff.Add(_dayOff1); _dbContext.DaysOff.Add(_dayOff2); _dayOffRepository = new DayOffRepository(_dbContext, _dateTimeUtil); }
public async Task <IHttpActionResult> PutDayOff(int id, DayOff dayOff) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != dayOff.Id) { return(BadRequest()); } db.Entry(dayOff).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DayOffExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public ActionResult DeleteConfirmed(int id) { DayOff dayOff = db.DayOffs.Find(id); db.DayOffs.Remove(dayOff); db.SaveChanges(); return(RedirectToAction("Index")); }
/// <summary> /// заполнить все списки дней, рабочи выходные неполные /// </summary> private void GetListDays() { DayOff = pairsToDays.Where(x => x.CountPair == 0).ToList(); DayOff.Sort(); ReducedDay = pairsToDays.Where(x => x.CountPair > 0).ToList(); ReducedDay.Sort(); WorkDay = pairsToDays.Where(x => x.CountPair == null).ToList(); WorkDay.Sort(); }
public static List <DayOff> CreateDayOff(List <String> DaysOff) { List <DayOff> DayOffList = new List <DayOff>(); foreach (String day in DaysOff) { DayOff dayOff = new DayOff(day); DayOffList.Add(dayOff); } return(DayOffList); }
public ActionResult Edit([Bind(Include = "Id,EmployeeId,Day")] DayOff dayOff) { if (ModelState.IsValid) { db.Entry(dayOff).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.EmployeeId = new SelectList(db.Employees, "Id", "UserId", dayOff.EmployeeId); return(View(dayOff)); }
public async Task <IHttpActionResult> GetDayOff(int id) { DayOff dayOff = await db.DayOffs.FindAsync(id); if (dayOff == null) { return(NotFound()); } return(Ok(dayOff)); }
private static DayOffData ToRpcModel(DayOff dayOff) { return(new DayOffData { Id = dayOff.Id, CreatedOn = Timestamp.FromDateTime(dayOff.CreatedOn), DayOffType = (int)dayOff.DayOffType, Hours = dayOff.Hours, IsPaid = dayOff.IsPaid, PersonId = dayOff.PersonId }); }
public Instance(FileGenLayout layout, MannagerConfig mConfig) { this.mConfig = mConfig; this.fileName = layout.getFileName(); this.problem = layout.getProblem(); this.workedSequence = layout.getWorkedSequence(); this.attributionSequence = layout.getAttributionSequence(); this.morningShift = layout.getMorningShift(); this.afternoonShift = layout.getAfternoonShift(); this.nightShift = layout.getNightShift(); this.dayOff = layout.getDayOff(); }
internal static bool AssignDayOffData(DayOff dayOff, out int dayCounter, MainForm form) { dayCounter = 0; try { MainForm.mainDate = Convert.ToDateTime(form.tbDayOffDate.Text); //jeżeli urlop wielodniowy if (form.chBoxDayOffMulti.Checked) { DateTime fromDate = Convert.ToDateTime(form.tbDayOffDate.Text); DateTime toDate = form.dtpDayOff.Value.Date; //oblicza ilość dni urlopowych dayCounter = Convert.ToInt32((toDate - fromDate).Days + 1);//np od 10 - 13 = 3, a ma być 4 (<=13) //zmienne do bazy danych do tabeli urlop dayOff.IdEmployee = Convert.ToInt32(form.cbSelectEmployeeWork.SelectedValue); dayOff.Date = Convert.ToDateTime(form.tbDayOffDate.Text); dayOff.IdTypeDayOff = Convert.ToInt32(form.cbDayOffType.SelectedValue); //sprawdza czy data zakończenia urlopu nie jest mniejsza od daty rozpoczęcia if (fromDate > toDate) { throw new WrongDateTimeException("Data rozpoczęcia urlopu jest mniejsza od daty zakończenia.\n Popraw datę i spróbuj ponownie"); } return(true); } //urlop jednodniowy else { dayCounter = 1; dayOff.IdEmployee = Convert.ToInt32(form.cbSelectEmployeeWork.SelectedValue); dayOff.Date = Convert.ToDateTime(form.tbDayOffDate.Text); dayOff.IdTypeDayOff = Convert.ToInt32(form.cbDayOffType.SelectedValue); return(true); } } catch (WrongDateTimeException ex) { MessageBox.Show(ex.Message, "Błąd przy wpisywaniu godzin.", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } catch (FormatException) { MessageBox.Show("Wpisałeś niepoprawną datę rozpoczęcia lub zakończenia urlopu.\nPopraw dane i spróbuj ponownie.", "Błąd przy wpisywaniu urlopu.", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } catch (Exception ex) { //log LogErr.DodajLogErrorDoBazy(new LogErr(Polaczenia.idUser, DateTime.Now, Polaczenia.ip, 0, NazwaTabeli.urlop, "MainForm.btnDodajGodziny_Click()/n/n" + ex.Message)); MessageBox.Show(ex.Message, "Błąd przy wpisywaniu urlopu.", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } }
public async Task <IHttpActionResult> PostDayOff(DayOff dayOff) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.DayOffs.Add(dayOff); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = dayOff.Id }, dayOff)); }
public ActionResult Edit([Bind(Include = "id,date,status,employeeId")] DayOff dayOff) { if (ModelState.IsValid) { db.Entry(dayOff).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.employeeId = new SelectList(db.Employees, "id", "firstName", dayOff.employeeId); ViewBag.name = AdministratorController.staticName; return(View(dayOff)); }
// GET: DayOffs/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DayOff dayOff = db.DaysOff.Find(id); if (dayOff == null) { return(HttpNotFound()); } return(View(dayOff)); }
public async Task <IHttpActionResult> DeleteDayOff(int id) { DayOff dayOff = await db.DayOffs.FindAsync(id); if (dayOff == null) { return(NotFound()); } db.DayOffs.Remove(dayOff); await db.SaveChangesAsync(); return(Ok(dayOff)); }
public static List <DayOff> Create(List <String> dayList, Guid habitId) { List <DayOff> dayOffList = new List <DayOff>(); foreach (String day in dayList) { DayOff dayOff = new DayOff(day) { HabitID = habitId }; dayOffList.Add(dayOff); } return(dayOffList); }
// GET: DayOff/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DayOff dayOff = db.DayOffs.Find(id); if (dayOff == null) { return(HttpNotFound()); } ViewBag.name = AdministratorController.staticName; return(View(dayOff)); }
public virtual async Task <int> DeleteAsync(DayOff dayOff) { if (dayOff is null) { throw new NullReferenceException("Day off cannot be empty"); } DateTime currentMonth = new DateTime(_dateTimeUtil.GetCurrentDateTime().Year, _dateTimeUtil.GetCurrentDateTime().Month, 1); if (dayOff.CreatedOn < currentMonth) { throw new InvalidOperationException("Cannot delete history record"); } _context.DaysOff.Remove(dayOff); return(await _context.SaveChangesAsync()); }
public ActionResult Create(DatePickerModel date) { if (ModelState.IsValid) { DayOff dayOff = new DayOff(); dayOff.Day = date.dtmDate; var userId = User.Identity.GetUserId(); dayOff.EmployeeId = db.Employees.Where(data => data.UserId == userId).Select(data => data.Id).First(); db.DaysOff.Add(dayOff); db.SaveChanges(); return(RedirectToAction("Index")); } return(View()); }
// GET: DayOffs/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DayOff dayOff = db.DaysOff.Find(id); if (dayOff == null) { return(HttpNotFound()); } ViewBag.EmployeeId = new SelectList(db.Employees, "Id", "UserId", dayOff.EmployeeId); return(View(dayOff)); }
internal static void CheckPossibilityToSaveIllness(Illness illness, int dayCounter) { //sprawdza, czy był już wpis o podanej dacie w tabeli chobora if (illness.IsAlreadyInDataBase()) { throw new AlreadyExistsException(string.Format("W dniu {0} pracownik był na zasiłku.\nProszę sprawdzić datę i spróbować ponownie.", illness.Date.ToShortDateString())); } else if (DayOff.IsAlreadyInDataBase(illness.IdEmployee, illness.Date)) { throw new AlreadyExistsException(string.Format("W dniu {0} pracownik był na urlopie.\nCzy napewno dodać zasiłek do bazy danych?", illness.Date.ToShortDateString())); } else if (Work.IsAlreadyInDataBase(illness.IdEmployee, illness.Date)) { throw new AlreadyExistsException(string.Format("W dniu {0} pracownik był w pracy.\nCzy napewno dodać zasiłek do bazy danych?", illness.Date.ToShortDateString())); } }
// GET: DayOff/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DayOff dayOff = db.DayOffs.Find(id); if (dayOff == null) { return(HttpNotFound()); } ViewBag.employeeId = new SelectList(db.Employees, "id", "firstName", dayOff.employeeId); ViewBag.name = AdministratorController.staticName; return(View(dayOff)); }
public ActionResult DayOff([Bind(Include = "date")] DayOff dayOff) { List <DayOff> dayOffs = db.DayOffs.ToList(); dayOff.date = dayOffs[dayOffs.Count() - 1].date; dayOff.employeeId = userID; dayOff.status = Models.DayOff.DayOffStatus.Pending; if (ModelState.IsValid) { db.DayOffs.Add(dayOff); db.SaveChanges(); return(RedirectToAction("Request")); } ViewBag.name = staticName; return(View(dayOff)); }
public static Boolean changeStateOneRequest(String userEmail, String idRequest, String newState, IntraContext context) { try { DayOff dayOff = context.DayOffs.Where(d => d.id == idRequest).First(); dayOff.state = newState; context.DayOffs.Update(dayOff); context.SaveChanges(); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); return(false); } return(true); }
public void AddAsync_should_add_new_record_to_db() { // Arrange DayOff dayOff = new() { Hours = 8, CreatedOn = new DateTime(2020, 01, 03, 12, 00, 00), DayOffType = DayOffType.SickLeave, PersonId = _person.Id, }; // Act int result = _dayOffRepository.AddAsync(dayOff).Result; DayOff expected = _dbContext.DaysOff.FirstOrDefault(e => e.Id == dayOff.Id); // Assert Assert.AreEqual(expected, dayOff, "Added data as expected"); _dbContextMock.Verify(a => a.SaveChangesAsync(true, new CancellationToken()), Times.Once); }
internal static void CheckPossibilityToSaveDayOff(DayOff dayOff, int dayCounter) { string holidayDescription = ""; if (dayOff.IsAlreadyInDataBase()) { throw new AlreadyExistsException(string.Format("W dniu {0} pracownik był na urlopie.\nProszę sprawdzić datę i spróbować ponownie.", dayOff.Date.ToShortDateString())); } else if (Illness.IsAlreadyInDataBase(dayOff.IdEmployee, dayOff.Date)) { throw new AlreadyExistsException(string.Format("W dniu {0} pracownik był na zwolnieniu lekarskim.\nProszę sprawdzić datę i spróbować ponownie.", dayOff.Date.ToShortDateString())); } else if (Work.IsAlreadyInDataBase(dayOff.IdEmployee, dayOff.Date)) { string temp = string.Format("W dniu {0} pracownik był w pracy.\nCzy napewno dodać urlop do bazy danych?", dayOff.Date.ToShortDateString()); DialogResult result = MessageBox.Show(temp, "Pytanie", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.No) { throw new CancelException("Anulowano"); } } if (dayCounter > 1)//jeżeli wpisywanie wielu dni to exit { return; } if (dayOff.Date.DayOfWeek == DayOfWeek.Sunday) { throw new WrongDateTimeException(string.Format("Podawany dzień {0} jest dniem wolnym od pracy - NIEDZIELA", dayOff.Date.ToShortDateString())); } else if (dayOff.Date.DayOfWeek == DayOfWeek.Saturday) { throw new WrongDateTimeException(string.Format("Podawany dzień {0} jest dniem wolnym od pracy - SOBOTA", dayOff.Date.ToShortDateString())); } else if (Holidays.IsHoliday(dayOff.Date, out holidayDescription)) { throw new WrongDateTimeException(string.Format("W dniu {0} przypada {1}.", dayOff.Date.ToShortDateString(), holidayDescription)); } }