public int AddSession(Session input) { int result = CRUDStatusCode.ERROR; if (input != null) { var session = _SessionRepository.Get(t => t.Name == input.Name || t.Code == input.Code).FirstOrDefault(); if (session == null) { input.StatusId = CommonStatus.ACTIVE; input.CreateDate = Common.Utilities.GetServerDateTimeNow(); input.LastUpdateDate = Common.Utilities.GetServerDateTimeNow(); input.LastUpdateBy = Common.Session.GetId(); _SessionRepository.Add(input); result = CRUDStatusCode.SUCCESS; } else if (session != null && session.StatusId == CommonStatus.DELETE) { session.Name = input.Name; session.StatusId = CommonStatus.ACTIVE; _SessionRepository.Update(session); result = CRUDStatusCode.SUCCESS; } else { result = CRUDStatusCode.EXISTED; } } return(result); }
public bool Delete(long id) { var districtIds = new List <long>(); foreach (District d in _sessionRepository.Get(id).Districts) { districtIds.Add(d.Id); } for (int i = 0; i < districtIds.Count; i++) // delete districts from session { _districtRepository.Delete(districtIds[i]); } var teamIds = new List <long>(); foreach (Team t in _sessionRepository.Get(id).Teams) { teamIds.Add(t.Id); } for (int i = 0; i < teamIds.Count; i++) // delete teams from session { _teamRepository.Delete(teamIds[i]); } return(_sessionRepository.Delete(id)); }
public void SessionClick(ItemClickEventArgs args) { var tileData = (SessionView)args.ClickedItem; var session = SessionRepository.Get(tileData.SessionId); NavigationService.Navigate(typeof(Views.SessionDetailView), new SessionParameter(session)); }
public void GetPlainTest() { var startDate = DateTime.Parse("2011-01-01 20:45:00"); var endDate = DateTime.Parse("2011-01-01 22:50:00"); var duration = new TimeSpan(endDate.Ticks - startDate.Ticks); var maxCount = duration.TotalMinutes / delta.TotalMinutes; var repository = new SessionRepository(); var stopWatch = new Stopwatch(); stopWatch.Start(); stopWatch.Stop(); Trace.WriteLine("Imperative all: " + stopWatch.ElapsedTicks); stopWatch.Start(); var sessions = repository.Get((session) => session.StartDate <endDate && session.EndDate> startDate); var statistic = new List <StatisticItem>(); for (int i = 0; i < maxCount; i++) { var startStroke = startDate.AddMinutes(delta.Minutes * i); var endStroke = startStroke.AddMinutes(delta.Minutes); statistic.Add(this.GetStatisticItem(startStroke, endStroke, sessions)); } stopWatch.Stop(); foreach (var statItem in statistic) { Trace.WriteLine(statItem.DateTime + " " + statItem.Count); } Trace.WriteLine("Imperative: " + stopWatch.ElapsedTicks); }
public void Test1() { var basePath = "https://schedule-generator-5f50e.firebaseio.com/"; var authSecret = Environment.GetEnvironmentVariable("FirebaseSecret"); var repo = new SessionRepository(basePath, authSecret); long sessionId = 27; var newSession = new ScheduleSession() { Id = sessionId, SpreadsheetUrl = "some url34567689", ScheduleSheet = "forSchedule2", InputRequirementsSheet = "inputSheet2", LearningPlanSheet = "rooms2", DialogState = DialogState.WaitSpreadsheetChangeConfirmation, LastModificationTime = DateTime.Now, LastModificationInitiator = "RTDBRepository" }; repo.Save(sessionId, newSession); var session = repo.Get(sessionId); Assert.AreEqual(newSession.Id, session.Id); Assert.AreEqual(newSession.SpreadsheetUrl, session.SpreadsheetUrl); Assert.AreEqual(newSession.ScheduleSheet, session.ScheduleSheet); Assert.AreEqual(newSession.InputRequirementsSheet, session.InputRequirementsSheet); Assert.AreEqual(newSession.LearningPlanSheet, session.LearningPlanSheet); Assert.AreEqual(newSession.DialogState, session.DialogState); Assert.AreEqual(newSession.LastModificationInitiator, session.LastModificationInitiator); }
public ActionResult RequestSession(List <session> sessions) { if (sessions != null && sessions.Count > 0) { var cu = Session["user"] as ContextUser; int participantId = new ParticipiantRepository().GetByUserId(cu.OUser.Id).Id; var repository = new SessionRepository(); var oSession = repository.Get(); var oSessionSelected = oSession.Where(y => sessions.Where(x => x.IsSelected).Select(x => x.Id).ToList().Contains(y.Id)).ToList(); var oSessionUnSelected = oSession.Where(y => sessions.Where(x => !x.IsSelected).Select(x => x.Id).ToList().Contains(y.Id)).ToList(); foreach (var item in oSessionSelected) { var sp = item.session_participant.Where(x => x.ParticipantID == participantId).FirstOrDefault(); if (sp == null) { item.session_participant.Add(new session_participant { SessionID = item.Id, ParticipantID = participantId }); } } repository.RemoveSessionParticipants(oSessionUnSelected, participantId); repository.SaveChanges(); } return(RedirectToAction("Index")); }
public ActionResult ParticipantDetail(Guid id) { int pageSize = 0; pageSize = pageSize > 0 ? pageSize : 10; var repository = new SessionRepository(); repository.SetOccuredStatus(); var cu = Session["user"] as ContextUser; var session = repository.Get().First(x => x.RowGUID == id); var participants = session.session_participant.Select(x => x.participant_profile).ToList(); //Sorting order string eveCat = session.StudentEvaluationCatagory; var forms = new EvaluationFormRepository().Get().Where(x => x.Catagory == eveCat).ToList(); var lkEvaluationForm = forms.FirstOrDefault(x => x.SubCatagory == "pre"); if (lkEvaluationForm != null) { ViewBag.preform = lkEvaluationForm.FormPath; } var evaluationForm = forms.FirstOrDefault(x => x.SubCatagory == "post"); if (evaluationForm != null) { ViewBag.postform = evaluationForm.FormPath; } ViewBag.sessionid = session.Id; ViewBag.sessionname = session.ProgramName; ViewBag.schoolname = session.school.SchoolName; return(View(participants)); }
private void AddSession(long entityId, IEnumerable <Change> changes) { // ensure that the entityId does NOT already exist in the Repository var session = SessionRepository.Get(entityId); if (session == null) { // this session does not exist - create it session = new Session() { SessionId = entityId }; foreach (var change in changes) { session.UpdateProperty(change.Key, change.Value); } SessionRepository.Add(session); ChangeLogProvider.SessionChangeLog.Add(new ProviderLogEntry { EntityId = session.SessionId, ActionType = ActionType.Add, EntityDisplay = session.Title }); } }
// GET: Funder public ActionResult Index(string sortOrder, string filter, string archived, int page = 1, Guid?archive = null) { ViewBag.searchQuery = string.IsNullOrEmpty(filter) ? "" : filter.Trim(); ViewBag.showArchived = (archived ?? "") == "on"; page = page > 0 ? page : 1; int pageSize = 0; pageSize = pageSize > 0 ? pageSize : 10; ViewBag.CurrentSort = sortOrder; IEnumerable <session> session; var repository = new SessionRepository(); repository.SetOccuredStatus(); if (archive != null) { var oSession = repository.GetByRowId(archive.Value); oSession.IsActive = !oSession.IsActive; repository.Put(oSession.Id, oSession); } var cu = Session["user"] as ContextUser; int corSchoolId = 0; if (cu.EnumRole != EnumUserRole.Volunteer) { corSchoolId = new CoordinatorRepository().GetSchoolIdByUserId(cu.OUser.Id); } var participantId = 0; if (cu.EnumRole == EnumUserRole.Participant) { participantId = new ParticipiantRepository().GetByUserId(cu.OUser.Id).Id; } session = repository.Get().Where(x => { return((filter == null || x.ProgramName.ToLower().Contains(filter.ToLower()) || (x.school != null && (x.school.SchoolName.ToLower().Contains(filter.ToLower()) || x.school.City.ToLower().Contains(filter.ToLower()))) ) && ((cu.EnumRole == EnumUserRole.SuperAdmin || (cu.EnumRole == EnumUserRole.Participant && x.session_participant .Select(y => y.ParticipantID) .Contains(participantId)) || (cu.EnumRole == EnumUserRole.Volunteer && ((x.VolunteerId == null && x.Status == "Approved") || (x.VolunteerId.HasValue && x.VolunteerId.Value == cu.OUser.Id && (x.Status == "Approved" || x.Status == "Occured")))) || (cu.EnumRole == EnumUserRole.Coordinator && x.SchoolID == corSchoolId)))); }); //Sorting order session = session.OrderByDescending(x => x.CreatedAt); ViewBag.Count = session.Count(); return(View(session.ToPagedList(page, pageSize))); }
// behaviors public void SessionClick(ItemClickEventArgs args) { var item = args.ClickedItem as SessionView; if (item != null) { var session = SessionRepository.Get(item.SessionId); NavigationService.Navigate(typeof(Views.SessionDetailView), new SessionParameter(session)); } }
// behaviors public void SessionClick(ItemClickEventArgs args) { var listItem = (SessionView)args.ClickedItem; if (listItem.SessionId != 0) { var session = SessionRepository.Get(listItem.SessionId); NavigationService.Navigate(typeof(Views.SessionDetailView), new SessionParameter(session)); } }
public ActionResult FeedBack(SessionFeedBack model) { var repo = new SessionRepository(); var session = repo.Get(model.SessionId); var sParticipant = session.session_participant.Where(x => x.ParticipantID == model.ParticipantId).First(); sParticipant.FeedBack = model.FeedBack; repo.Put(session.Id, session); return(RedirectToAction("Index")); }
public void GetSession_Call_NotFail_Test() { var context = new MyEventsContext(); int sessionId = context.Sessions.FirstOrDefault().SessionId; ISessionRepository target = new SessionRepository(); Session result = target.Get(sessionId); Assert.IsNotNull(result); Assert.AreEqual(sessionId, result.SessionId); }
public ActionResult MarkCompleted(session session) { var cu = Session["user"] as ContextUser; var sessionRepo = new SessionRepository(); var oSession = sessionRepo.Get(session.Id); if (Request.Form["SubmitButton"] == "Upload") { sessionRepo.RemoveSessionPhoto(session.Id); foreach (var item in session.EvaluationImageLink.Split(',').Where(x => !string.IsNullOrWhiteSpace(x))) { oSession.session_evaluationform_photo.Add(new session_evaluationform_photo { FilePath = item, FileExtension = Path.GetExtension(item) }); } foreach (var item in session.SessionImageLink.Split(',').Where(x => !string.IsNullOrWhiteSpace(x))) { oSession.session_photo.Add(new session_photo { FilePath = item, FileExtension = Path.GetExtension(item) }); } } else if (Request.Form["SubmitButton"] == "fillvolunteerevaluation") { int corId = new CoordinatorRepository().GetByUserId(cu.OUser.Id).Id; return(RedirectToAction("VolenteerForm", "EvaluationForm", new { sessionId = oSession.Id, volId = oSession.volunteer_profile.Id, corId = corId })); } else { oSession.MarkedCompletedByCoordinator = true; var volEmail = oSession.volunteer_profile.VolunteerEmail; var bogusController = Util.CreateController <EmailTemplateController>(); EmailTemplateModel emodel = new EmailTemplateModel { Title = "Notification: coordinator session marked as completed.", CoordinatorName = oSession.school.coordinator_profile.FirstOrDefault().CoordinatorName, SessionTitle = oSession.ProgramName, VolunteerName = oSession.volunteer_profile.VolunteerName, User = oSession.school.user.FirstName }; string body = Util.RenderViewToString(bogusController.ControllerContext, "CoordinatorMarkCompleted", emodel); EmailSender.SendSupportEmail(body, volEmail); var adminEmail = new AccountRepository().Get(oSession.CreatedBy).Email; EmailSender.SendSupportEmail(body, adminEmail); } sessionRepo.Put(oSession.Id, oSession); return(RedirectToAction("Index")); }
public void GetSession_CalculateScore_Test() { var context = new MyEventsContext(); var session = context.Sessions.Include("SessionRegisteredUsers").FirstOrDefault(q => q.SessionRegisteredUsers.Any()); double expected = session.SessionRegisteredUsers.Where(sr => sr.Rated).Average(sr => sr.Score); ISessionRepository target = new SessionRepository(); Session result = target.Get(session.SessionId); Assert.IsNotNull(result); Assert.AreEqual(expected, result.Score); }
public List <TimeSlot> GetAllForList() { Dictionary <string, string> sessionCodeName = _sessionRepository .Get(c => c.StatusId == CommonStatus.ACTIVE) .ToDictionary(q => q.Code, q => string.Format("{0} {1}", q.Code, q.Name)); return(_TimeSlotRepository.Get(c => c.StatusId == CommonStatus.ACTIVE) .OrderBy(c => c.SessionCode) .Select(ts => new TimeSlot() { Id = ts.Id, Code = ts.Code, StatusId = ts.StatusId, CreateDate = ts.CreateDate, FromHour = ts.FromHour, LastUpdateBy = ts.LastUpdateBy, LastUpdateDate = ts.LastUpdateDate, Name = ts.Name, SessionCode = sessionCodeName.Where(s => s.Key == ts.SessionCode).FirstOrDefault().Value }) .ToList()); }
private void DeleteSession(long entityId) { var session = SessionRepository.Get(entityId); if (session != null) { session.MarkAsDeleted(); ChangeLogProvider.SessionChangeLog.Add(new ProviderLogEntry { EntityId = session.SessionId, ActionType = ActionType.Delete, EntityDisplay = session.Title }); } }
private void ModifySession(long entityId, string key, string value) { var session = SessionRepository.Get(entityId); if (session != null) { session.UpdateProperty(key, value); ChangeLogProvider.SessionChangeLog.Add(new ProviderLogEntry { EntityId = session.SessionId, ActionType = ActionType.Modify, EntityDisplay = session.Title }); } }
public ActionResult RequestSession() { var cu = Session["user"] as ContextUser; int participantId = new ParticipiantRepository().GetByUserId(cu.OUser.Id).Id; var repository = new SessionRepository(); var oSession = repository.Get().Where(x => x.Status == "Approved").ToList(); foreach (var item in oSession) { if (item.session_participant.Any(x => x.ParticipantID == participantId)) { item.IsSelected = true; } } return(View(oSession)); }
public IEnumerable <SqlQueryInfo> Get() { _sqlQueryReader.Reload(); var sqls = _sqlQueryReader.Read(); var sessions = _sessionRepository.Get().ToList(); sessions.ForEach(s => { var sql = sqls.SingleOrDefault(q => q.Name == s.QueryName); if (sql != null) { sql.LastRetrievedAtUtc = s.FinishedAtUtc; } }); return(sqls); }
public ActionResult GetTicketsBySession(int id) { var session = sessionRepository.Get(id); if (session == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //var t1 = session.TicketPrices.Select(x => x.Ticket); //var t2 = t1.Where(x => x != null); //var t3 = t2.Select(x => new { x.Id}); ////var t3 = t2.Select(x => new { x.Seat.Row, x.Seat.Number, x.Status.Name }); //var result = Json(t3); var tickets = session.TicketPrices.Select(x => x.Ticket).Where(x => x != null).Select(x => new { x.Seat.Row, x.Seat.Number }); return(Json(tickets)); }
public ActionResult SessionDetails(Guid id) { int pageSize = 0; pageSize = pageSize > 0 ? pageSize : 10; IEnumerable <session> session; var repository = new SessionRepository(); repository.SetOccuredStatus(); var cu = Session["user"] as ContextUser; session = repository.Get().Where(x => x.school != null && x.school.RowGuid == id && (x.Status == "Approved" || x.Status == "Occured")); //Sorting order session = session.OrderByDescending(x => x.CreatedAt); ViewBag.schoolname = session.First().school.SchoolName; ViewBag.Count = session.Count(); return(View(session)); }
private void ApplySpeakerChanges(IEnumerable <Change> speakerChanges) { foreach (var speakerChange in speakerChanges) { var session = SessionRepository.Get(speakerChange.EntityId); if (session != null) { if (speakerChange.Action == ActionType.Delete) { } if (speakerChange.Action == ActionType.Modify) { } if (speakerChange.Action == ActionType.Add) { } } } }
public void A_FinisedEvaSession_creates_a_new_Session_in_the_database() { var bootStrapper = new BootStrapper(); bootStrapper.StartServices(); var serviceEvents = bootStrapper.GetService<IServiceEvents>(); //1.- Create message var aggr = GenerateRandomAggregate(); var message = GenerateMessage(aggr); //2.- Emit message serviceEvents.AddIncommingEvent(new IncommingEvent { @event = message }); //3.- Load the saved country var repository = new SessionRepository(_configuration.TestServer); var session = repository.Get(aggr.Id); //4.- Check equality Assert.Equal(aggr.Id, session.Id); Assert.Equal(aggr.CommissionId, session.CommissionId); Assert.Equal(aggr.EndTime.Value.Second, session.EndTime.Value.Second); Assert.Equal(aggr.InitialTime.Value.Second, session.InitialTime.Value.Second); Assert.Equal(aggr.InvoiceId, session.InvoiceId); Assert.Equal(aggr.InterpretationDone, session.InterpretationDone); Assert.Equal(aggr.SignedDate.Value.Second, session.SignedDate.Value.Second); Assert.Equal(aggr.GuardianId, session.GuardianId); Assert.Equal(aggr.PartnerId, session.PartnerId); Assert.Equal(aggr.PatientId, session.PatientId); Assert.Equal(aggr.ServiceLevelId, session.ServiceLevelId); Assert.Equal(aggr.ServiceId, session.ServiceId); Assert.Equal(aggr.MediaId, session.MediaId); Assert.Equal(aggr.MachineId, session.MachineId); Assert.Equal(aggr.PayableId, session.PayableId); Assert.Equal(aggr.CommissionId, session.CommissionId); Assert.Equal(aggr.TimeStamp.Second, session.TimeStamp.Second); var appoinment = session.Appointment.First(); Assert.Equal(appoinment.Id, aggr.Appointment.First().Id); Assert.Equal(appoinment.InitialTime.Second, aggr.Appointment.First().InitialTime.Second); Assert.Equal(appoinment.FinalTime.Second, aggr.Appointment.First().FinalTime.Second); Assert.Equal(appoinment.MachineId, aggr.Appointment.First().MachineId); Assert.Equal(appoinment.MediaId, aggr.Appointment.First().MediaId); Assert.Equal(appoinment.PartnerId, aggr.Appointment.First().PartnerId); Assert.Equal(appoinment.PatientId, aggr.Appointment.First().PatientId); Assert.Equal(appoinment.PayableId, aggr.Appointment.First().PayableId); Assert.Equal(appoinment.ServiceId, aggr.Appointment.First().ServiceId); Assert.Equal(appoinment.ServiceLevelId, aggr.Appointment.First().ServiceLevelId); Assert.Equal(appoinment.ServiceTypeId, aggr.Appointment.First().ServiceTypeId); Assert.Equal(appoinment.SessionId, aggr.Appointment.First().SessionId); Assert.Equal(appoinment.StatusType, aggr.Appointment.First().StatusType); Assert.Equal(appoinment.TimeZoneId, aggr.Appointment.First().TimeZoneId); Assert.Equal(appoinment.TimeStamp.Second, aggr.Appointment.First().TimeStamp.Second); var sessionDevice = session.SessionDevice.First(); Assert.Equal(sessionDevice.Id, aggr.SessionDevice.First().Id); Assert.Equal(sessionDevice.DeviceGroup, aggr.SessionDevice.First().DeviceGroup); Assert.Equal(sessionDevice.DeviceId, aggr.SessionDevice.First().DeviceId); Assert.Equal(sessionDevice.SapCode, aggr.SessionDevice.First().SapCode); Assert.Equal(sessionDevice.SerialNumber, aggr.SessionDevice.First().SerialNumber); Assert.Equal(sessionDevice.SessionId, aggr.SessionDevice.First().SessionId); Assert.Equal(sessionDevice.TimeStamp.Second, aggr.SessionDevice.First().TimeStamp.Second); var diagnosis = session.Diagnosis.First(); Assert.Equal(diagnosis.Id, aggr.Diagnosis.First().Id); Assert.Equal(diagnosis.Appraisal, aggr.Diagnosis.First().Appraisal); Assert.Equal(diagnosis.Name, aggr.Diagnosis.First().Name); Assert.Equal(diagnosis.SessionId, aggr.Diagnosis.First().SessionId); Assert.Equal(diagnosis.TimeStamp.Second, aggr.Diagnosis.First().TimeStamp.Second); }
public void GetSession_Call_NotFail_Test() { var context = new MyEventsContext(); int sessionId = context.Sessions.FirstOrDefault().SessionId; ISessionRepository target = new SessionRepository(); Session result = target.Get(sessionId); Assert.IsNotNull(result); Assert.AreEqual(sessionId, result.SessionId); }
public void GetSession_CalculateScore_Test() { var context = new MyEventsContext(); var session = context.Sessions.Include("SessionRegisteredUsers").FirstOrDefault(q => q.SessionRegisteredUsers.Any()); double expected = session.SessionRegisteredUsers.Where(sr => sr.Rated).Average(sr => sr.Score); ISessionRepository target = new SessionRepository(); Session result = target.Get(session.SessionId); Assert.IsNotNull(result); Assert.AreEqual(expected, result.Score); }
public void GetSessionExistentSessionShouldReturnNull() { Session sessionById = sessionRepositoryInMemory.Get(session.Id); Assert.IsNull(sessionById); }
public ActionResult Edit(session session) { var sessionRepo = new SessionRepository(); session oSession = null; var cu = Session["user"] as ContextUser; DateTime?oldActualDate = null; if (session.Id == 0) { oSession = new session(); oSession.RowGUID = Guid.NewGuid(); oSession.CreatedAt = DateTime.Now; oSession.CreatedBy = cu.OUser.Id; oSession.Status = SessionStatus.Pending.ToString(); } else { oSession = sessionRepo.Get(session.Id); oSession.UpdatedAt = DateTime.Now; oldActualDate = oSession.ActualDateTime; // oSession.UpdatedBy = int.Parse(sid); } var currentStatus = (SessionStatus)Enum.Parse(typeof(SessionStatus), oSession.Status); if (cu.EnumRole == EnumUserRole.SuperAdmin && currentStatus == SessionStatus.Pending) { oSession.ProgramPurpose = "ProgramPurposeNotUsed"; oSession.TargetGroup = session.TargetGroup; if (oSession.SchoolID == null && session.SchoolID != null && session.SchoolID.Value != 0) { var cor = new CoordinatorRepository().GetBySchool(session.SchoolID.Value); var user = new AccountRepository().Get(oSession.CreatedBy); var bogusController = Util.CreateController <EmailTemplateController>(); EmailTemplateModel emodel = new EmailTemplateModel { Title = "Notification: Session Created For School", User = user.FirstName, CoordinatorName = cor.CoordinatorName, SessionTitle = oSession.ProgramName, UserName = user.Username, Email = cor.CoordinatorEmail }; string body = Util.RenderViewToString(bogusController.ControllerContext, "SessionCreatedSchool", emodel); EmailSender.SendSupportEmail(body, cor.CoordinatorEmail); } oSession.SchoolID = session.SchoolID == 0 ? null : session.SchoolID; oSession.ProgramName = session.ProgramName; oSession.ProposedDateTime = DateTime.ParseExact(session.PropesedDateString, "dd/MM/yyyy", CultureInfo.InvariantCulture); oSession.ProposedEndDateTime = session.ProposedEndDateTime; oSession.VolunteerId = session.VolunteerId == 0 ? null : session.VolunteerId; oSession.StudentCertificate = session.StudentCertificate == 0 ? null : session.StudentCertificate; oSession.VolunteerCertificate = session.VolunteerCertificate == 0 ? null : session.VolunteerCertificate; oSession.StudentEvaluationCatagory = session.StudentEvaluationCatagory; } if (session.ActualDateString != null) { oSession.ActualDateTime = DateTime.ParseExact(session.ActualDateString, "dd/MM/yyyy", CultureInfo.InvariantCulture); } if (currentStatus == SessionStatus.DateChanges) { if (session.SendKitByMailCourier && !oSession.SendKitByMailCourier) { var cor = oSession.school.coordinator_profile.First(); var user = new AccountRepository().Get(oSession.CreatedBy); var bogusController = Util.CreateController <EmailTemplateController>(); EmailTemplateModel emodel = new EmailTemplateModel { Title = "Injaz: Administrator send kit by mail courier.", User = user.FirstName, CoordinatorName = cor.CoordinatorName, SessionTitle = oSession.ProgramName, }; string body = Util.RenderViewToString(bogusController.ControllerContext, "SendKitBymailCourier", emodel); EmailSender.SendSupportEmail(body, cor.CoordinatorEmail); } oSession.SendKitByMailCourier = session.SendKitByMailCourier; } if (cu.EnumRole == EnumUserRole.Coordinator && (currentStatus == SessionStatus.Approved || currentStatus == SessionStatus.Rejected)) { if (session.ConfirmKitReceivedBySchool && !oSession.ConfirmKitReceivedBySchool) { var cor = oSession.school.coordinator_profile.First(); var user = new AccountRepository().Get(oSession.CreatedBy); var bogusController = Util.CreateController <EmailTemplateController>(); EmailTemplateModel emodel = new EmailTemplateModel { Title = "Injaz: Confirm Kit Received By School.", CoordinatorName = cor.CoordinatorName, SessionTitle = oSession.ProgramName, User = cor.user.FirstName }; string body = Util.RenderViewToString(bogusController.ControllerContext, "ConfirmKitReceivedBySchool", emodel); EmailSender.SendSupportEmail(body, user.Email); } oSession.ConfirmKitReceivedBySchool = session.ConfirmKitReceivedBySchool; } if (currentStatus == SessionStatus.Pending && oSession.ActualDateTime != null) { if (oSession.ProposedDateTime.Date == oSession.ActualDateTime.Value.Date) { if (oSession.Status != SessionStatus.Approved.ToString()) { SendEmailNotificationsApprovedByAdmin(oSession); } oSession.Status = SessionStatus.Approved.ToString(); oSession.ApprovedByAdmin = true; } else { if (oSession.Status != SessionStatus.DateChanges.ToString()) { SendEmailNotificationDateChanged(oSession); } oSession.Status = SessionStatus.DateChanges.ToString(); } } if (currentStatus == SessionStatus.Approved && oldActualDate != null && oSession.ActualDateTime != oldActualDate) { if (oSession.Status != SessionStatus.Approved.ToString()) { SendEmailNotificationDateChanged(oSession); } oSession.Status = SessionStatus.DateChanges.ToString(); oSession.ApprovedByAdmin = false; } if (session.SubmitButton != null) { if (session.SubmitButton == "approved") { if (oSession.Status != SessionStatus.Approved.ToString()) { SendEmailNotificationsApprovedByAdmin(oSession); } oSession.Status = SessionStatus.Approved.ToString(); oSession.ApprovedByAdmin = true; } if (session.SubmitButton == "submitpre") { int participantId = new ParticipiantRepository().GetByUserId(cu.OUser.Id).Id; string eve_cat = oSession.StudentEvaluationCatagory; string form = new EvaluationFormRepository().Get().First(x => x.Catagory == eve_cat && x.SubCatagory == "pre").FormPath; return(RedirectToAction(form, "EvaluationForm", new { participantid = participantId, sessionid = oSession.Id })); } if (session.SubmitButton == "submitpost") { int participantId = new ParticipiantRepository().GetByUserId(cu.OUser.Id).Id; string eve_cat = oSession.StudentEvaluationCatagory; string form = new EvaluationFormRepository().Get().First(x => x.Catagory == eve_cat && x.SubCatagory == "post").FormPath; return(RedirectToAction(form, "EvaluationForm", new { participantid = participantId, sessionid = oSession.Id })); } if (session.SubmitButton == "request") { //oSession.MarkedCompletedByVolunteer = true; var volunteer = new VolunteerRepository().GetByGoogleId(cu.GoogleId) ?? new VolunteerRepository().GetByLinkedInId(cu.GoogleId); oSession.VolunteerId = volunteer.Id; var user = new AccountRepository().Get(oSession.CreatedBy); var bogusController = Util.CreateController <EmailTemplateController>(); EmailTemplateModel emodel = new EmailTemplateModel { Title = "Injaz:Volunteer Assign Session", VolunteerName = volunteer.VolunteerName, SessionTitle = oSession.ProgramName, User = user.FirstName }; string body = Util.RenderViewToString(bogusController.ControllerContext, "VolunteerAssignSession", emodel); EmailSender.SendSupportEmail(body, user.Email); } if (session.SubmitButton == "confirm") { return(RedirectToAction("StudentAttendense", new { sessionId = oSession.RowGUID })); } if (session.SubmitButton == "reject") { oSession.Status = SessionStatus.Rejected.ToString(); } if (session.SubmitButton == "feedback") { var participant = new ParticipiantRepository().GetByUserId(cu.OUser.Id); return(RedirectToAction("FeedBack", new { sessionId = oSession.Id, participantId = participant.Id })); } if (session.SubmitButton == "coordinatorform") { int corId = new CoordinatorRepository().GetByUserId(oSession.school.CoordinatorUserId).Id; return(RedirectToAction("CoordinatorForm", "EvaluationForm", new { sessionId = oSession.Id, volId = oSession.volunteer_profile.Id, corId = corId })); } if (session.SubmitButton == "viewcertificate" || session.SubmitButton == "volunteerviewcertificate") { var participant = new ParticipiantRepository().GetByUserId(cu.OUser.Id); string certificatePath = null; List <PdfCoordinatesModel> pdfCoordinates = null; if (cu.EnumRole == EnumUserRole.Participant) { certificatePath = Server.MapPath(oSession.certificate.UploadFilePath); pdfCoordinates = new CertificateDictionary().GetPdfCoordinatesFromDictionary(oSession.certificate.Type); } else { certificatePath = Server.MapPath(oSession.certificate1.UploadFilePath); pdfCoordinates = new CertificateDictionary().GetPdfCoordinatesFromDictionary(oSession.certificate1.Type); oSession.IsVolunteerCertificateGenerated = true; } foreach (var pc in pdfCoordinates) { switch (pc.CertifiacteData) { case CertificateEnum.NameOfStudent: pc.Text = participant.Name + " " + participant.FatherName + " " + participant.Family; break; case CertificateEnum.NameOfCoordinator: pc.Text = oSession.school.coordinator_profile.First().CoordinatorName; break; case CertificateEnum.ProgrammYear: pc.Text = DateTime.Now.Year + ""; break; case CertificateEnum.TranningDate: pc.Text = Util.DateConversion(oSession.ActualDateTime.Value.ToShortDateString(), "Hijri", "en-us"); break; case CertificateEnum.TranningHour: pc.Text = ConfigurationManager.AppSettings["TranningHours"]; break; case CertificateEnum.NameOfVolunteer: pc.Text = oSession.volunteer_profile.VolunteerName; break; } } string fontFilePath = Server.MapPath("~/fonts/Arabic Fonts/trado.ttf"); var outputFile = PdfGenerator.GenerateOnflyPdf(certificatePath, pdfCoordinates, fontFilePath); if (session.SubmitButton == "viewcertificate") { EmailSender.SendSupportEmail("Student Template", participant.Email, outputFile); oSession.session_participant.Where(x => x.ParticipantID == participant.Id).First().IsCertificateGenerated = true; } else { EmailSender.SendSupportEmail("Volunteer Template", oSession.volunteer_profile.VolunteerEmail, outputFile); } } } oSession.IsActive = session.IsActive; if (session.Id == 0) { sessionRepo.Post(oSession); } else { sessionRepo.Put(oSession.Id, oSession); } return(RedirectToAction("Index")); }