public void CreateTimeOffRequestApprovalsForRequest (TimeOffRequest request, IEnumerable <string> userPolicyApproversId) { var approvals = new List <TimeOffRequestApproval>(); foreach (var approverId in userPolicyApproversId) { var approval = new TimeOffRequestApproval { UserId = approverId, TimeOffRequest = request, Status = unitOfWork.RequestApprovalStatuses.Get( (int)TimeOffRequestApprovalStatusesEnum.InProgres) }; approvals.Add(approval); } approvals.FirstOrDefault().Status = unitOfWork.RequestApprovalStatuses.Get( (int)TimeOffRequestApprovalStatusesEnum.Requested); foreach (var approval in approvals) { unitOfWork.RequestApprovals.Create(approval); } }
public ActionResult Create(string startDate, string endDate) { if (ModelState.IsValid) { TimeOffRequest request = new TimeOffRequest() { EffectiveStart = Convert.ToDateTime(startDate), EffectiveEnd = Convert.ToDateTime(endDate) }; // Code to save the TimeOffRequest try { _requestManager.AddTimeOffRequest(request, Convert.ToInt32(Session["RequestingUserID"])); return(Json(Url.Action("Index", "ChooseRequestType", new { outputMessage = "SUCCESS: Time Off Request Submitted!" }))); } catch { return(Json(Url.Action("Index", "ChooseRequestType", new { outputMessage = "ERROR: Could Not Submit Time Off Request" }))); } } else { return(View()); } }
public ActionResult Accept(int id) { Employee emp = null; TimeOffRequest req = db.TimeOffRequests.Find(id); foreach (Employee e in db.Employees) { foreach (TimeOffRequest tmp in e.TimeOffRequests) { if (tmp == req) { emp = e; string email = emp.Email; SmtpClient client = new SmtpClient("smtp.live.com", 25); client.Credentials = new System.Net.NetworkCredential("*****@*****.**", "dudethatko1"); client.DeliveryMethod = SmtpDeliveryMethod.Network; client.EnableSsl = true; MailMessage msg = new MailMessage("*****@*****.**", email, "Accepted", "Congrats bud"); client.Send(msg); return(View(emp)); } } } return(RedirectToAction("AdminApproval")); }
public ActionResult Index([Bind(Include = "StartDate,EndDate,Reason,Type")] TimeOffRequest timeOffRequest) { if ((timeOffRequest.StartDate < DateTime.Now) || (timeOffRequest.EndDate < DateTime.Now) || (timeOffRequest.StartDate > timeOffRequest.EndDate)) { ViewData["typesOfTimeOff"] = new string[] { "Vacation", "Personal Emergency", "Appointment" }; return(View(timeOffRequest)); } //TimeOffRequestId,WhenSent timeOffRequest.WhenSent = DateTime.Now; if (ModelState.IsValid) { try { db.TimeOffRequests.Add(timeOffRequest); db.SaveChanges(); db.Employees.Find(sessionEmployee).TimeOffRequests.Add(timeOffRequest); db.SaveChanges(); } catch (Exception e) { return(RedirectToAction("Failure")); } return(RedirectToAction("Success")); } ViewData["typesOfTimeOff"] = new string[] { "Vacation", "Personal Emergency", "Appointment" }; return(View(timeOffRequest)); }
public ActionResult Index([Bind(Include = "StartDate,EndDate,Reason")] TimeOffRequest timeOffRequest) { if ((timeOffRequest.StartDate < DateTime.Now) || (timeOffRequest.EndDate < DateTime.Now) || (timeOffRequest.StartDate > timeOffRequest.EndDate)) { ViewData["typesOfTimeOff"] = db.TypesOfTimeOff.ToArray(); return(View(timeOffRequest)); } //TimeOffRequestId,WhenSent timeOffRequest.WhenSent = DateTime.Now; if (ModelState.IsValid) { try { db.TimeOffRequests.Add(timeOffRequest); db.SaveChanges(); db.Employees.Find("a00828729").TimeOffRequests.Add(timeOffRequest); db.SaveChanges(); db.TypesOfTimeOff.Find(Request.Form.Get("Type")).TimeOffRequests.Add(timeOffRequest); db.SaveChanges(); } catch (Exception e) { return(RedirectToAction("Failure")); } return(RedirectToAction("Success")); } ViewData["typesOfTimeOff"] = db.TypesOfTimeOff.ToArray(); return(View(timeOffRequest)); }
/// <summary> /// CREATOR: Kaleb Bachert /// CREATED: 2020/3/3 /// APPROVER: NA /// /// This method creates a Time Off Request /// </summary> /// <remarks> /// UPDATER: NA /// UPDATED: NA /// UPDATE: NA /// /// </remarks> /// <param name="requestID"></param> /// <param name="userID"></param> public int InsertTimeOffRequest(TimeOffRequest request, int requestingUserID) { int rows = 0; var conn = DBConnection.GetConnection(); var cmd = new SqlCommand("sp_insert_time_off_request", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@EffectiveStart", request.EffectiveStart); cmd.Parameters.AddWithValue("@EffectiveEnd", request.EffectiveEnd); cmd.Parameters.AddWithValue("@RequestingUserID", requestingUserID); try { conn.Open(); rows = cmd.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } finally { conn.Close(); } return(rows); }
/// <summary> /// Creator: Kaleb Bachert /// Created: 3/3/2020 /// Approver: Lane Sandburg /// /// Method that inserts a dummy Request, for testing /// </summary> /// <remarks> /// Updater: NA /// Updated: NA /// Update: NA /// </remarks> public int InsertTimeOffRequest(TimeOffRequest request, int requestingUserID) { int oldCount = timeOffRequests.Count; timeOffRequests.Add(request); return(timeOffRequests.Count - oldCount); }
public ActionResult DeclineDelete(int id) { TimeOffRequest req = db.TimeOffRequests.Find(id); db.TimeOffRequests.Remove(req); db.SaveChanges(); return(RedirectToAction("AdminApproval")); }
/// <summary> /// CREATOR: Kaleb Bachert /// CREATED: 2020/3/3 /// APPROVER: Lane Sandburg /// /// This method calls the InsertTimeOffRequest method from the Accessor /// </summary> /// <remarks> /// UPDATER: NA /// UPDATED: NA /// UPDATE: NA /// /// </remarks> /// <param name="requestID"></param> /// <param name="userID"></param> public bool AddTimeOffRequest(TimeOffRequest request, int requestingEmployeeID) { try { return(1 == _requestAccessor.InsertTimeOffRequest(request, requestingEmployeeID)); } catch (Exception ex) { throw new ApplicationException("Data not found.", ex); } }
public ActionResult Accept(int id) { TimeOffRequest req = db.TimeOffRequests.Include(e => e.Employee).Where(e => e.TimeOffRequestId == id).FirstOrDefault(); SmtpClient client = new SmtpClient("smtp.live.com", 25); client.Credentials = new System.Net.NetworkCredential("*****@*****.**", "dudethatko1"); client.DeliveryMethod = SmtpDeliveryMethod.Network; client.EnableSsl = true; MailMessage msg = new MailMessage("*****@*****.**", req.Employee.Email, "Accepted", "Congrats bud"); client.Send(msg); req.Status = "Yes"; db.Entry(req).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("AdminApproval")); }
/// <summary> /// Create new navigation property to timeOffRequests for groups /// <param name="body"></param> /// <param name="requestConfiguration">Configuration for the request such as headers, query parameters, and middleware options.</param> /// </summary> public RequestInformation CreatePostRequestInformation(TimeOffRequest body, Action <TimeOffRequestsRequestBuilderPostRequestConfiguration> requestConfiguration = default) { _ = body ?? throw new ArgumentNullException(nameof(body)); var requestInfo = new RequestInformation { HttpMethod = Method.POST, UrlTemplate = UrlTemplate, PathParameters = PathParameters, }; requestInfo.SetContentFromParsable(RequestAdapter, "application/json", body); if (requestConfiguration != null) { var requestConfig = new TimeOffRequestsRequestBuilderPostRequestConfiguration(); requestConfiguration.Invoke(requestConfig); requestInfo.AddRequestOptions(requestConfig.Options); requestInfo.AddHeaders(requestConfig.Headers); } return(requestInfo); }
public async Task CreateTimeOffAsync(string teamId, TimeOffModel timeOff) { Guard.ArgumentNotNullOrEmpty(timeOff.TeamsEmployeeId, nameof(TimeOffModel.TeamsEmployeeId)); var client = _clientFactory.CreateClient(_options, teamId); var request = new TimeOffRequest { UserId = timeOff.TeamsEmployeeId, DraftTimeOff = _options.DraftShiftsEnabled ? _timeOffMap.MapTimeOff(timeOff) : null, SharedTimeOff = _options.DraftShiftsEnabled ? null : _timeOffMap.MapTimeOff(timeOff) }; var response = await client.CreateTimeOffAsync(request, teamId).ConfigureAwait(false); response.ThrowIfError(); // update the time off with the Teams id for the time off timeOff.TeamsTimeOffId = ((TimeOffResponse)response).Id; }
public void Init() { instance = new TimeOffRequest(); }