//if existing then return the existing otp public static string CreateNewRequestee(string targetEmail) { DAL dalDataContext = new DAL(); try { Table<Requestee> requestees = dalDataContext.requestees; Requestee existingRequestee = (from requestee in dalDataContext.requestees where requestee.TargetEmail.ToLower() == targetEmail.ToLower() select requestee).SingleOrDefault<Requestee>(); if (existingRequestee == null) { string otp = OTPGenerator.Generate(); Requestee newRequestee = new Requestee(targetEmail,otp); dalDataContext.requestees.DeleteOnSubmit(newRequestee); dalDataContext.SubmitChanges(); return otp; } else { return existingRequestee.Otp; } } catch (Exception ex) { throw new FaultException<SException>(new SException(ex.Message), new FaultReason("An Error occured While Creating New Requestee: " + ex.Message)); } }
//to approve or reject public static void ChangeStatus(Requestee requestee, int requestID, RequestStatus status, string remark) { DAL dalDataContext = new DAL(); try { Request request = (from requests in dalDataContext.requests where requests.RequestID == requestID && requests.TargetEmail.Equals(requests.TargetEmail) select requests).FirstOrDefault(); if (request == null) { throw new FaultException<SException>(new SException(), new FaultReason("Invalid Request")); } else if (!request.TargetEmail.Equals(requestee.TargetEmail, StringComparison.CurrentCultureIgnoreCase)) { throw new FaultException<SException>(new SException(), new FaultReason("You are not authorized to perform this task")); } else { if (status == RequestStatus.Cancelled || status == RequestStatus.Pending) { throw new FaultException<SException>(new SException(), new FaultReason("You can either approve or reject the request!")); } request.Status = status; request.Remark = remark; dalDataContext.SubmitChanges(); RequestLogController.InsertRequestLog(request); } } catch (Exception ex) { throw new FaultException<SException>(new SException(ex.Message), new FaultReason("An Error occured While Updating Request: " + ex.Message)); } }
public List<Request> ViewRequests(Requestee requestee, DateTime fromDate, DateTime toDate, RequestStatus status, bool viewAllStatus) { return RequestController.ViewRequests(requestee, fromDate, toDate, status, viewAllStatus); }
public static List<Request> ViewRequests(Requestee requestee, DateTime fromDate, DateTime toDate, RequestStatus status, bool viewAllStatus) { // RequesteeController.ValidateRequestee(targetEmail,OTP); DAL dalDataContext = new DAL(); try { IQueryable<Request> Requests = (from requests in dalDataContext.requests where requests.TargetEmail.ToLower() == requestee.TargetEmail.ToLower() && requests.RequestDate.Date >= fromDate.Date && requests.RequestDate.Date <= toDate.Date select requests); if (!viewAllStatus) Requests = Requests.Where(f => f.Status == status); return Requests.OrderByDescending(r => r.RequestDate).ToList<Request>(); } catch (Exception ex) { throw new FaultException<SException>(new SException(ex.Message), new FaultReason("An Error occured While Viewing Request")); } }
public void ChangeStatus(Requestee requestee, int requestID, RequestStatus status, string remark) { RequestController.ChangeStatus(requestee, requestID, status, remark); }