public async Task <IActionResult> Edit(int id, [Bind("ShiftGroupId,Name")] ShiftGroup shiftGroup) { if (id != shiftGroup.ShiftGroupId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(shiftGroup); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ShiftGroupExists(shiftGroup.ShiftGroupId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(shiftGroup)); }
/** * This method seeds admin user * **/ public async Task SeedAdminUser(UserManager <ApplicationUser> userManager) { string AdminUserName = _identityInit.AdminUserName; string AdminEmail = _identityInit.AdminEmail; string AdminPassword = _identityInit.AdminPassword; // check if admin user doesn't exist if ((await userManager.FindByNameAsync(AdminUserName)) == null) { // get gender by name "Male" Gender gender = await _context.Genders.Where(b => b.Name.ToLower() == "male") .FirstOrDefaultAsync(); ShiftGroup shiftGrp = await _context.ShiftGroups.Where(b => b.Name.ToLower() == "general") .FirstOrDefaultAsync(); // create desired admin user object ApplicationUser user = new ApplicationUser { UserName = AdminUserName, DisplayName = AdminUserName, Email = AdminEmail, Gender = gender, ShiftGroup = shiftGrp }; // push desired admin user object to DB IdentityResult result = await userManager.CreateAsync(user, AdminPassword); if (result.Succeeded) { await userManager.AddToRoleAsync(user, SecurityConstants.AdminRoleString); } } }
public async Task<List<ShiftParticipation>> Handle(CreateShiftParticipationsFromGroupCommand request, CancellationToken cancellationToken) { // Get the shift participation type named normal ShiftParticipationType shiftParticipationType = await _context.ShiftParticipationTypes.Where(spt => spt.Name.ToLower() == "normal").FirstOrDefaultAsync(); // get the employees in the shiftGroup ShiftGroup shiftGroup = await _context.ShiftGroups.Include(sg => sg.Employees).FirstOrDefaultAsync(sg => sg.Id == request.ShiftGroupId); List<string> empIds = shiftGroup.Employees.Where(e => e.UserName != _identityInit.AdminUserName).Select(empl => empl.Id).ToList(); foreach (string empId in empIds) { try { // check if participation exists if ((await _context.ShiftParticipations.Where(sp => (sp.ShiftId == request.ShiftId) && (sp.EmployeeId == empId)).ToListAsync()).Count > 0) { continue; } _context.ShiftParticipations.Add(new ShiftParticipation { EmployeeId = empId, ShiftId = request.ShiftId, ShiftParticipationTypeId = shiftParticipationType.Id }); await _context.SaveChangesAsync(); } catch (Exception ex) { Console.WriteLine($"error occured while adding participation of employee id {empId} to shift id {request.ShiftId} -- {ex.Message}"); continue; } } return await _context.ShiftParticipations.Where(sp => sp.ShiftId == request.ShiftId).ToListAsync(); }
public async Task <IActionResult> AddShiftGroup(ShiftGroup item) { await _context.ShiftGroups.AddAsync(item); await _context.SaveChangesAsync(); return(RedirectToAction("ShiftGroupsList", new { id = item.ShiftId })); }
public async Task <IActionResult> Create([Bind("ShiftGroupId,Name")] ShiftGroup shiftGroup) { if (ModelState.IsValid) { _context.Add(shiftGroup); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(shiftGroup)); }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } ShiftGroup = await _context.ShiftGroups.FirstOrDefaultAsync(m => m.Id == id); if (ShiftGroup == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } ShiftGroup = await _context.ShiftGroups.FindAsync(id); if (ShiftGroup != null) { _context.ShiftGroups.Remove(ShiftGroup); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> PostShiftParticipationFromGroup([FromBody] ShiftGroupPartAddParamsViewModel paramsVm) { //todo complete this if (!ModelState.IsValid) { return(BadRequest(ModelState)); } int shiftGroupId = paramsVm.ShiftGroupId; int shiftId = paramsVm.ShiftId; // get the employees in the shiftGroup ShiftGroup shiftGroup = await _context.ShiftGroups.Include(sg => sg.Employees).FirstOrDefaultAsync(sg => sg.ShiftGroupId == shiftGroupId); List <int> empIds = shiftGroup.Employees.Select(empl => empl.EmployeeId).ToList(); foreach (int empId in empIds) { try { // check if participation exists if ((await _context.ShiftParticipations.Where(sp => (sp.ShiftId == shiftId) && (sp.EmployeeId == empId)).ToListAsync()).Count > 0) { continue; } _context.ShiftParticipations.Add(new ShiftParticipation { EmployeeId = empId, ShiftId = shiftId }); await _context.SaveChangesAsync(); } catch (Exception ex) { Console.WriteLine($"error occured while adding participation of employee id {empId} to shift id {shiftId} -- {ex.Message}"); continue; } } return(CreatedAtAction("GetShiftParticipationFromShift", new { shiftId }, await _context.ShiftParticipations.Where(sp => sp.ShiftId == shiftId).ToListAsync())); }
private void LoadDefaults() { CurrentCompanyID = RouteData.Values.Keys.Contains("CompanyId") ? RouteData.Values["CompanyId"].ToString() : ""; LoadCompanyDropdown(); if (CurrentCompanyID == "") { if (ddlCompanies.Items.Count > 0) { CurrentCompanyID = ddlCompanies.Items[0].Value; } } CurrentWorkareaID = RouteData.Values.Keys.Contains("WorkareaId") ? RouteData.Values["WorkareaId"].ToString() : ""; List <int> Years = new List <int>(); for (int i = objConfig.MinCompanyYearOfEstablishment; i <= Convert.ToInt32(DateTime.Now.ToString("yyyy")); i++) { Years.Add(i); } ddlYear.DataSource = Years; ddlYear.DataBind(); ddlYear.SelectedValue = DateTime.Now.ToString("yyyy"); // Load Countries Country objCountry = new Country(); List <Country> countries = objCountry.Select(Status.Active); ddlCountry.DataSource = countries; ddlCountry.DataValueField = "CountryID"; ddlCountry.DataTextField = "CountryName"; ddlCountry.DataBind(); // Load Shift Groups ShiftGroup objShiftGroup = new ShiftGroup(); List <ShiftGroup> ShiftGroups = objShiftGroup.Select(Status.Active); ddlShiftGroup.DataSource = ShiftGroups; ddlShiftGroup.DataValueField = "ShiftGroupID"; ddlShiftGroup.DataTextField = "ShiftGroupName"; ddlShiftGroup.DataBind(); // Load Holiday Groups HolidayGroup objHolidayGroup = new HolidayGroup(); List <HolidayGroup> HolidayGroups = objHolidayGroup.Select(Status.Active); ddlHolidayGroup.DataSource = HolidayGroups; ddlHolidayGroup.DataValueField = "HolidayGroupID"; ddlHolidayGroup.DataTextField = "HolidayGroupName"; ddlHolidayGroup.DataBind(); // Load Leave Groups LeaveGroup objLeaveGroup = new LeaveGroup(); List <LeaveGroup> LeaveGroups = objLeaveGroup.Select(Status.Active); ddlLeaveGroup.DataSource = LeaveGroups; ddlLeaveGroup.DataValueField = "LeaveGroupID"; ddlLeaveGroup.DataTextField = "LeaveGroupName"; ddlLeaveGroup.DataBind(); // Load Allowance Groups AllowanceGroup objAllowanceGroup = new AllowanceGroup(); List <AllowanceGroup> AllowanceGroups = objAllowanceGroup.Select(Status.Active); ddlAllowanceGroup.DataSource = AllowanceGroups; ddlAllowanceGroup.DataValueField = "AllowanceGroupID"; ddlAllowanceGroup.DataTextField = "AllowanceGroupName"; ddlAllowanceGroup.DataBind(); var statuses = Enum.GetValues(typeof(Status)); ddlStatus.DataSource = statuses; ddlStatus.DataBind(); LoadWorkareas(CurrentCompanyID); }