/// <summary> /// Add a new attendance status for the course /// </summary> /// <param name="dispatchId"></param> /// <param name="absence"></param> /// <param name="userId"></param> /// <returns></returns> public bool Create(int dispatchId, int absence, int userId) { bool bRet = false; using (var context = GetDbContext()) { DbSet<Dispatch> dispatches = context.Set<Dispatch>(); var dispatch = dispatches.Where(d => d.Id == dispatchId && d.TeacherId == userId).FirstOrDefault(); if (dispatch != null) { int population = absence > dispatch.Current ? 0 : dispatch.Current - absence; Attendance attendance = new Attendance() { Dispatch = dispatch, Population = population }; dispatch.Attendances.Add(attendance); bRet = true; } context.SaveChanges(); } return bRet; }
protected void Button2_Click(object sender, EventArgs e) { if (FileUpload1.HasFile) { Label1.Visible = false; DataSet ds = new DataSet(); String path = ""; string ticks = DateTime.Now.Ticks.ToString(); if (FileUpload1.HasFile) { FileUpload1.SaveAs(Server.MapPath("Images/" + ticks + FileUpload1.FileName)); path = Server.MapPath("Images/" + ticks + FileUpload1.FileName); OpenExcelFile(path, ref ds); } AttendanceLogic al = new AttendanceLogic(); Attendance a = new Attendance(); DateTime d1 = new DateTime(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { a.EmployeeID = Convert.ToInt32(ds.Tables[0].Rows[i]["EmployeeID"]); if (!DateTime.TryParseExact(ds.Tables[0].Rows[i]["ADate"].ToString(), "dd/MM/yyyy", null, System.Globalization.DateTimeStyles.None, out d1)) { } a.Adate = d1; if (ds.Tables[0].Rows[i]["Mark"].ToString().Equals("P")) { a.Mark = true; } else if (ds.Tables[0].Rows[i]["Mark"].ToString().Equals("A")) { a.Mark = false; } al.Insert(a); } ds.Tables[0].Columns.Add(new DataColumn("EmployeeName")); EmployeeLogic el = new EmployeeLogic(); for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) { ds.Tables[0].Rows[i]["EmployeeName"] = (el.SelectByID(Convert.ToInt32(ds.Tables[0].Rows[i]["EmployeeID"]))).Name; } Repeater1.DataSource = ds; Repeater1.DataBind(); } else { Label1.Visible = true; } }
public int MarkAttendance(int empid, int shift) { var context = new ubietydbEntities(); Attendance attendance = new Attendance(); attendance.EmpId = empid; attendance.MarkFlagId = shift; attendance.MarkTime = TimeZoneInfo.ConvertTime(new DateTime(DateTime.Now.Ticks), TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")); context.Attendances.Add(attendance); return context.SaveChanges(); }
public Attendance CreateNewInstance(Attendance exist, Schedule schedule) { _attendanceRepository.Evict(exist); var o = _employeeRepository.Get(exist.Agent.Id); var entity = _entityFactory.Create<Attendance>() .SetProperties<Attendance>(o, schedule.Campaign, schedule.Start, schedule.End); entity.SchedulingPayload = _entityFactory.Create<SchedulingPayload>(); entity.CopyRule(o); entity.Joined = false; return entity; }
public DataSet AuthinticateManager(Attendance.Entities.Entities entities) { DataSet dsManagerLogin = new DataSet(); try { SqlDataAdapter daManager = new SqlDataAdapter("[USP_Manager]", connectionString); daManager.SelectCommand.Parameters.Add(new SqlParameter("@EMPID", entities.EMPID)); daManager.SelectCommand.Parameters.Add(new SqlParameter("@LocationName", entities.LocationName)); daManager.SelectCommand.Parameters.Add(new SqlParameter("@PassCode", entities.passcode)); daManager.SelectCommand.Parameters.Add(new SqlParameter("@UserID", entities.UserID)); daManager.SelectCommand.CommandType = CommandType.StoredProcedure; daManager.Fill(dsManagerLogin); return dsManagerLogin; } catch (Exception ex) { throw ex; } }
//public int GetEntryStatus(Attendance objAttendance) //{ // DBDataHelper.ConnectionString = ConfigurationManager.ConnectionStrings["CSBiometricAttendance"].ConnectionString; // DBDataHelper helper = new DBDataHelper(); // List<SqlParameter> lstAttendanceDetail = new List<SqlParameter>(); // lstAttendanceDetail.Add(new SqlParameter("@employeeId", objAttendance.EmployeeId)); // lstAttendanceDetail.Add(new SqlParameter("@dateTime", objAttendance.Date)); // DataTable dt = new DataTable(); // DataSet ds; // using (DBDataHelper objDDBDataHelper = new DBDataHelper()) // { // ds = objDDBDataHelper.GetDataSet("spGetAttendanceStatus", SQLTextType.Stored_Proc, lstAttendanceDetail); // Employees objEmployee = new Employees(); // List<Employees> lstEmployee = new List<Employees>(); // return Convert.ToInt32(ds.Tables[0].Rows[0][0]); // } //} //public int GetExitStatus(Attendance objAttendance) //{ // DBDataHelper.ConnectionString = ConfigurationManager.ConnectionStrings["CSBiometricAttendance"].ConnectionString; // DBDataHelper helper = new DBDataHelper(); // List<SqlParameter> lstAttendanceDetail = new List<SqlParameter>(); // lstAttendanceDetail.Add(new SqlParameter("@employeeId", objAttendance.EmployeeId)); // lstAttendanceDetail.Add(new SqlParameter("@dateTime", objAttendance.Date)); // DataSet ds; // using (DBDataHelper objDDBDataHelper = new DBDataHelper()) // { // ds = objDDBDataHelper.GetDataSet("spGetExitStatus", SQLTextType.Stored_Proc, lstAttendanceDetail); // } // var x = ds.Tables[0].Rows[0][0].ToString(); // return (String.IsNullOrEmpty(x)) ? 0 : 1; //} public bool EntryOrExitEmployee(Attendance objAttendance, out int status) { DBDataHelper.ConnectionString = ConfigurationManager.ConnectionStrings["CSBiometricAttendance"].ConnectionString; List<SqlParameter> lstAttendanceDetail = new List<SqlParameter>(); lstAttendanceDetail.Add(new SqlParameter("@employeeId", objAttendance.EmployeeId)); lstAttendanceDetail.Add(new SqlParameter("@dateTime", objAttendance.Date)); DataSet ds = new DataSet(); try { using (DBDataHelper objDDBDataHelper = new DBDataHelper()) { ds = objDDBDataHelper.GetDataSet("spAssignAttendance", SQLTextType.Stored_Proc, lstAttendanceDetail); } status = Convert.ToInt32(ds.Tables[0].Rows[0][0]); return true; } catch(Exception ex) { status = 0; return false; } }
public bool SavePettyCashDetails(Attendance.Entities.PettyCashInfo objInfo,int EnteredBy, string Locationname) { bool success = false; try { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["AttendanceConn"].ToString()); con.Open(); SqlCommand command = new SqlCommand("[USP_PettycashDetails]", con); command.CommandType = CommandType.StoredProcedure; //command.Parameters.Add("@EmpID", SqlDbType.VarChar).Value = objInfo.EmpID; command.Parameters.Add("@AccountHolderName", SqlDbType.VarChar).Value = objInfo.AccountName; command.Parameters.Add("@IncomeType", SqlDbType.VarChar).Value = objInfo.AmountType; command.Parameters.Add("@AcountDate", SqlDbType.DateTime).Value = objInfo.AccountDate; command.Parameters.Add("@BillNo", SqlDbType.VarChar).Value = objInfo.BillNum; command.Parameters.Add("@chequeNo", SqlDbType.VarChar).Value = objInfo.ChequeNum; command.Parameters.Add("@locationname", SqlDbType.VarChar).Value = Locationname; command.Parameters.Add("@EnteredBy", SqlDbType.Int).Value = EnteredBy; command.Parameters.Add("@expenditureAmount", SqlDbType.VarChar).Value = objInfo.ExpenseAmount; command.Parameters.Add("@Expdate", SqlDbType.DateTime).Value = objInfo.ExpenseDate; //command.Parameters.Add("@EmpID", SqlDbType.VarChar).Value = objInfo.EmpID; command.Parameters.Add("@ServicemanName", SqlDbType.VarChar).Value = objInfo.ExpenseManName; command.Parameters.Add("@expenditureSubtype", SqlDbType.VarChar).Value = objInfo.ExpenseSubType; command.Parameters.Add("@expenditureTpe", SqlDbType.VarChar).Value = objInfo.Expensetype; command.Parameters.Add("@FromWhom", SqlDbType.VarChar).Value = objInfo.FromWhom; command.Parameters.Add("@Income", SqlDbType.VarChar).Value = objInfo.InitialAmoun; command.Parameters.Add("@expenditureNotes", SqlDbType.VarChar).Value = objInfo.Notes; command.Parameters.Add("@VoucherNo", SqlDbType.VarChar).Value = objInfo.VoucherNum; command.ExecuteNonQuery(); con.Close(); success = true; } catch (Exception ex) { } return success; }
public async ValueTask <Attendance> PutAttendanceAsync(Attendance attendance) => await this.apiFactoryClient.PutContentAsync(AttendanceRelativeUrl, attendance);
public AttendanceStatus InsertAttendanceById(long classId, long seminarId, long userId, decimal longitude, decimal latitude)//测试成功时间 { if (classId <= 0 || seminarId <= 0 || userId <= 0) { throw new ArgumentException(); } if (_db.Seminar.Find(seminarId) == null) { throw new SeminarNotFoundException(); } if (_db.ClassInfo.Find(classId) == null) { throw new ClassNotFoundException(); } //var u = (from class1 in _db.ClassInfo // where class1.Id == classId // select class1).SingleOrDefault(); //if (u == null) // throw new ClassNotFoundException(); //var v = (from seminar in _db.Seminar // where seminar.Id == seminarId // select seminar).SingleOrDefault(); //if (v == null) // throw new SeminarNotFoundException(); Attendance attendance = new Attendance(); attendance.ClassInfo = (from i in _db.ClassInfo where i.Id == classId select i).SingleOrDefault(); attendance.Student = (from j in _db.UserInfo where j.Id == userId select j).SingleOrDefault(); attendance.Seminar = (from k in _db.Seminar where k.Id == seminarId select k).SingleOrDefault(); var location = _db.Location .Include(l => l.Seminar) .Include(l => l.ClassInfo) .SingleOrDefault(s => (s.Seminar.Id == seminarId && s.ClassInfo.Id == classId)); double distance = GetDistance((double)latitude, (double)longitude, (double)location.Latitude, (double)location.Longitude); if (distance < 20) { if (location.Status == 1) { attendance.AttendanceStatus = AttendanceStatus.Present; } else { attendance.AttendanceStatus = AttendanceStatus.Late; } } else { attendance.AttendanceStatus = AttendanceStatus.Absent; } _db.Attendances.Add(attendance); _db.SaveChanges(); return(attendance.AttendanceStatus ?? 0); }
public void Add(Attendance attendance) { _context.Attendance.Add(attendance); }
/// <summary> /// Adds the attendance record. /// </summary> /// <param name="kioskLocationAttendance">The kiosk location attendance.</param> /// <param name="attendance">The attendance.</param> private static void AddAttendanceRecord(KioskLocationAttendance kioskLocationAttendance, Attendance attendance) { if (attendance.GroupId.HasValue && attendance.ScheduleId.HasValue && attendance.PersonAlias != null) { var groupAttendance = kioskLocationAttendance.Groups.Where(g => g.GroupId == attendance.GroupId).FirstOrDefault(); if (groupAttendance == null) { groupAttendance = new KioskGroupAttendance(); groupAttendance.GroupId = attendance.GroupId.Value; groupAttendance.GroupName = attendance.Group.Name; groupAttendance.Schedules = new List <KioskScheduleAttendance>(); kioskLocationAttendance.Groups.Add(groupAttendance); } var scheduleAttendance = groupAttendance.Schedules.Where(s => s.ScheduleId == attendance.ScheduleId).FirstOrDefault(); if (scheduleAttendance == null) { scheduleAttendance = new KioskScheduleAttendance(); scheduleAttendance.ScheduleId = attendance.ScheduleId.Value; scheduleAttendance.ScheduleName = attendance.Schedule.Name; scheduleAttendance.PersonIds = new List <int>(); groupAttendance.Schedules.Add(scheduleAttendance); } if (!scheduleAttendance.PersonIds.Contains(attendance.PersonAlias.PersonId)) { scheduleAttendance.PersonIds.Add(attendance.PersonAlias.PersonId); } } }
public bool UpdateUserSalTaxDetails(Attendance.Entities.UserInfo objInfo, int EmployeeID, int EnteredBy, string Ipaddress,DateTime EffectiveDt,bool Isnow) { bool success = false; try { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["AttendanceConn"].ToString()); con.Open(); SqlCommand command = new SqlCommand("[USP_updateSalTaxDetails]", con); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@UserID", SqlDbType.Int).Value = EmployeeID; // command.Parameters.Add("@EmpID", SqlDbType.VarChar).Value = objInfo.EmpID; command.Parameters.Add("@WageID", SqlDbType.Int).Value = objInfo.WageID; command.Parameters.Add("@salary", SqlDbType.VarChar).Value = objInfo.Salary; command.Parameters.Add("@Deductions", SqlDbType.Int).Value = objInfo.Deductions; command.Parameters.Add("@MaritalID", SqlDbType.Int).Value = objInfo.MaritalID; command.Parameters.Add("@EnteredBy", SqlDbType.Int).Value = EnteredBy; command.Parameters.Add("@IPAddress", SqlDbType.VarChar).Value = Ipaddress; command.Parameters.Add("@EffectiveDt", SqlDbType.VarChar).Value = EffectiveDt; command.Parameters.Add("@IsNow", SqlDbType.VarChar).Value = Isnow; command.ExecuteNonQuery(); con.Close(); success = true; } catch (Exception ex) { } return success; }
/// <summary> /// Adds the attendance record. /// </summary> /// <param name="kioskLocationAttendance">The kiosk location attendance.</param> /// <param name="attendance">The attendance.</param> private static void AddAttendanceRecord( KioskLocationAttendance kioskLocationAttendance, Attendance attendance ) { if ( attendance.GroupId.HasValue && attendance.ScheduleId.HasValue && attendance.PersonId.HasValue ) { var groupAttendance = kioskLocationAttendance.Groups.Where( g => g.GroupId == attendance.GroupId ).FirstOrDefault(); if ( groupAttendance == null ) { groupAttendance = new KioskGroupAttendance(); groupAttendance.GroupId = attendance.GroupId.Value; groupAttendance.GroupName = attendance.Group.Name; groupAttendance.Schedules = new List<KioskScheduleAttendance>(); kioskLocationAttendance.Groups.Add( groupAttendance ); } var scheduleAttendance = groupAttendance.Schedules.Where( s => s.ScheduleId == attendance.ScheduleId ).FirstOrDefault(); if ( scheduleAttendance == null ) { scheduleAttendance = new KioskScheduleAttendance(); scheduleAttendance.ScheduleId = attendance.ScheduleId.Value; scheduleAttendance.ScheduleName = attendance.Schedule.Name; scheduleAttendance.PersonIds = new List<int>(); groupAttendance.Schedules.Add( scheduleAttendance ); } scheduleAttendance.PersonIds.Add( attendance.PersonId.Value ); } }
public void Add(Attendance attend) { _db.Attendances.Add(attend); }
public void Remove(Attendance attend) { _db.Attendances.Remove(attend); }
public bool RecoredAttendance(Attendance attendance) { _log.LogError(""); return(_repository.Create <Attendance>(attendance)); }
public bool RemoveAttendance(Attendance attendance) { _log.LogError(""); return(_repository.Delete <Attendance>(attendance)); }
public Attendance FindAttendance(Attendance attendance) { _log.LogError(""); return(_repository.Find <Attendance>(A => A.Id == attendance.Id)); }
public bool EditAttendance(Attendance attendance) { _log.LogError(""); return(_repository.Update <Attendance>(attendance)); }
public void AddAttendance(RegistrationNumber regNumber, Attendance attendance) { _enrolledStudents.First(d => d.Key.RegNumber == regNumber) .Value.Attendances.Add(attendance); }
public bool UpdateEmergencyDetails(Attendance.Entities.EmergencyContactInfo objContactInfo, int EnteredBy, int userid, string ipaddress, DateTime EffectiveDt, bool Isnow) { bool success = false; try { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["AttendanceConn"].ToString()); con.Open(); SqlCommand command = new SqlCommand("[USP_UpdateEmergencyContactDetails]", con); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@EnterBy", SqlDbType.Int).Value = EnteredBy; command.Parameters.Add("@UserID", SqlDbType.Int).Value = userid; command.Parameters.Add("@ipaddress", SqlDbType.VarChar).Value = ipaddress; command.Parameters.Add("@Person1", SqlDbType.VarChar).Value = objContactInfo.Person1; command.Parameters.Add("@P1Address1", SqlDbType.VarChar).Value = objContactInfo.P1Address1; command.Parameters.Add("@P1Address2", SqlDbType.VarChar).Value = objContactInfo.P1Address2; command.Parameters.Add("@phone1", SqlDbType.VarChar).Value = objContactInfo.Phone1; command.Parameters.Add("@relation1", SqlDbType.VarChar).Value = objContactInfo.Relation1; command.Parameters.Add("@person2", SqlDbType.VarChar).Value = objContactInfo.Person2; command.Parameters.Add("@p2Address1", SqlDbType.VarChar).Value = objContactInfo.P2Address1; command.Parameters.Add("@p2Address2", SqlDbType.VarChar).Value = objContactInfo.P2Address2; command.Parameters.Add("@phone2", SqlDbType.VarChar).Value = objContactInfo.Phone2; command.Parameters.Add("@relation2", SqlDbType.VarChar).Value = objContactInfo.Relation2; command.Parameters.Add("@email2", SqlDbType.VarChar).Value = objContactInfo.Email2; command.Parameters.Add("@email1", SqlDbType.VarChar).Value = objContactInfo.Email1; command.Parameters.Add("@email3", SqlDbType.VarChar).Value = objContactInfo.Email3; command.Parameters.Add("@StateID1", SqlDbType.Int).Value = objContactInfo.StateID1; command.Parameters.Add("@StateID2", SqlDbType.Int).Value = objContactInfo.StateID2; command.Parameters.Add("@StateID3", SqlDbType.Int).Value = objContactInfo.StateID3; command.Parameters.Add("@Zip1", SqlDbType.VarChar).Value = objContactInfo.Zip1; command.Parameters.Add("@Zip2", SqlDbType.VarChar).Value = objContactInfo.Zip2; command.Parameters.Add("@Zip3", SqlDbType.VarChar).Value = objContactInfo.Zip3; command.Parameters.Add("@person3", SqlDbType.VarChar).Value = objContactInfo.Person3; command.Parameters.Add("@p3Address1", SqlDbType.VarChar).Value = objContactInfo.P3Address1; command.Parameters.Add("@p3Address2", SqlDbType.VarChar).Value = objContactInfo.P3Address2; command.Parameters.Add("@phone3", SqlDbType.VarChar).Value = objContactInfo.Phone3; command.Parameters.Add("@relation3", SqlDbType.VarChar).Value = objContactInfo.Relation3; command.Parameters.Add("@EffectiveDt", SqlDbType.VarChar).Value = EffectiveDt; command.Parameters.Add("@IsNow", SqlDbType.VarChar).Value = Isnow; command.ExecuteNonQuery(); con.Close(); success = true; } catch (Exception ex) { } return success; }
/// <summary> /// Saves the attendance data. /// </summary> /// <param name="rockContext">The rock context.</param> /// <param name="group">The group.</param> /// <param name="date">The date.</param> /// <param name="attendees">The attendees.</param> /// <param name="didNotMeet">if set to <c>true</c> then the group is marked as having not met.</param> private void SaveAttendanceData(RockContext rockContext, Group group, DateTime date, List <Attendee> attendees, bool didNotMeet) { var attendanceService = new AttendanceService(rockContext); var personAliasService = new PersonAliasService(rockContext); var occurrence = GetOccurrence(rockContext, group, date, true); var existingAttendees = occurrence.Attendees.ToList(); if (didNotMeet) { if (!occurrence.ScheduleId.HasValue) { // // If the attendance is not part of a schedule, just delete all the records. // foreach (var attendance in existingAttendees) { attendanceService.Delete(attendance); } } else { // // If the occurrence is based on a schedule, clear the DidAttend property. // foreach (var attendance in existingAttendees) { attendance.DidAttend = null; } } } else { foreach (var attendee in attendees) { var attendance = existingAttendees .Where(a => a.PersonAlias.Person.Guid == attendee.PersonGuid) .FirstOrDefault(); if (attendance == null) { int?personAliasId = personAliasService.GetPrimaryAliasId(attendee.PersonGuid); if (personAliasId.HasValue) { attendance = new Attendance { PersonAliasId = personAliasId, CampusId = null, StartDateTime = occurrence.Schedule != null && occurrence.Schedule.HasSchedule() ? occurrence.OccurrenceDate.Date.Add(occurrence.Schedule.StartTimeOfDay) : occurrence.OccurrenceDate, DidAttend = attendee.Attended }; occurrence.Attendees.Add(attendance); } } else { // Otherwise, only record that they attended -- don't change their attendance startDateTime attendance.DidAttend = attendee.Attended; } } } occurrence.DidNotOccur = didNotMeet; rockContext.SaveChanges(); }
public bool UpdatePersonalDetails(Attendance.Entities.UserInfo objInfo, int EnteredBy, int userID, string ipaddress, DateTime EffectiveDt, bool Isnow) { bool success = false; try { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["AttendanceConn"].ToString()); con.Open(); SqlCommand command = new SqlCommand("[USP_UpdatePersonalDetailsByUserID]", con); command.CommandType = CommandType.StoredProcedure; //command.Parameters.Add("@EmpID", SqlDbType.VarChar).Value = objInfo.EmpID; command.Parameters.Add("@EnterBY", SqlDbType.Int).Value = EnteredBy; command.Parameters.Add("@UserID", SqlDbType.Int).Value = userID; command.Parameters.Add("@Ipaddress", SqlDbType.VarChar).Value = ipaddress; command.Parameters.Add("@Gender", SqlDbType.VarChar).Value = objInfo.Gender; command.Parameters.Add("@phoneNum", SqlDbType.VarChar).Value = objInfo.Phone; command.Parameters.Add("@DateofBirth", SqlDbType.DateTime).Value = objInfo.DateOfBirth; command.Parameters.Add("@mobileNum", SqlDbType.VarChar).Value = objInfo.Mobile; command.Parameters.Add("@businessEmail", SqlDbType.VarChar).Value = objInfo.BusinessEmail; command.Parameters.Add("@personalEmail", SqlDbType.VarChar).Value = objInfo.PersonalEmail; command.Parameters.Add("@County", SqlDbType.VarChar).Value = objInfo.County; command.Parameters.Add("@StateID", SqlDbType.Int).Value = objInfo.StateID; command.Parameters.Add("@Address1", SqlDbType.VarChar).Value = objInfo.Address1; command.Parameters.Add("@Address2", SqlDbType.VarChar).Value = objInfo.Address2; command.Parameters.Add("@zip", SqlDbType.VarChar).Value = objInfo.Zip; command.Parameters.Add("@SSN", SqlDbType.VarChar).Value = objInfo.SSN; command.Parameters.Add("@drivingLicenceNum", SqlDbType.VarChar).Value = objInfo.DriverLicense; command.Parameters.Add("@EffectiveDt", SqlDbType.VarChar).Value = EffectiveDt; command.Parameters.Add("@IsNow", SqlDbType.VarChar).Value = Isnow; command.ExecuteNonQuery(); con.Close(); success = true; } catch (Exception ex) { } return success; }
public static void AddOrUpdate(Attendance attendance) { var attendanceCache = LoadByAttendance(attendance); AddOrUpdate(QualifiedKey(attendanceCache.Id), attendanceCache, () => KeyFactory()); }
/// <summary> /// Adds attendance data for each child for each weekend since the starting date up to /// the weekend ending X weeks ago (endingWeeksAgo). It will randomly skip a weekend /// based on the percentage (pctAttendance) and it will vary which service they attend /// between the scheduleId and altScheduleId based on the percentage (pctAttendedRegularService) /// given. /// </summary> /// <param name="familyMembers">The family members.</param> /// <param name="startingDate">The first date of attendance</param> /// <param name="endDate">The end date of attendance</param> /// <param name="pctAttendance">The PCT attendance.</param> /// <param name="pctAttendedRegularService">The PCT attended regular service.</param> /// <param name="scheduleId">The schedule identifier.</param> /// <param name="altScheduleId">The alt schedule identifier.</param> /// <param name="attendanceData">The attendance data.</param> private void CreateAttendance( ICollection<GroupMember> familyMembers, DateTime startingDate, DateTime endDate, int pctAttendance, int pctAttendedRegularService, int scheduleId, int altScheduleId, Dictionary<Guid, List<Attendance>> attendanceData ) { // foreach weekend between the starting and ending date... for ( DateTime date = startingDate; date <= endDate; date = date.AddDays( 7 ) ) { // set an additional factor int summerFactor = ( 7 <= date.Month && date.Month <= 9 ) ? summerPercentFactor : 0; if ( _random.Next( 0, 100 ) > pctAttendance - summerFactor ) { continue; // skip this week } // which service did they attend int serviceSchedId = ( _random.Next( 0, 100 ) > pctAttendedRegularService ) ? scheduleId : altScheduleId; // randomize check-in time slightly by +- 0-15 minutes (and 1 out of 4 times being late) int minutes = _random.Next( 0, 15 ); int plusMinus = ( _random.Next( 0, 4 ) == 0 ) ? 1 : -1; int randomSeconds = _random.Next( 0, 60 ); var time = _scheduleTimes[serviceSchedId]; DateTime dtTime = new DateTime( date.Year, date.Month, date.Day, time.Hour, time.Minute, time.Second ); DateTime checkinDateTime = dtTime.AddMinutes( Convert.ToDouble( plusMinus * minutes ) ).AddSeconds( randomSeconds ); // foreach child in the family foreach ( var member in familyMembers.Where( m => m.GroupRoleId == _childRoleId ) ) { // Find a class room (group location) // TODO -- someday perhaps we will change this to actually find a real GroupLocationSchedule record var item = ( from classroom in _classes where member.Person.AgePrecise >= classroom.MinAge && member.Person.AgePrecise <= classroom.MaxAge orderby classroom.MinAge, classroom.MaxAge select classroom ).FirstOrDefault(); // If no suitable classroom was found, skip if ( item == null ) { continue; } // Only create one attendance record per day for each person/schedule/group/location AttendanceCode attendanceCode = new AttendanceCode() { Code = GenerateRandomCode( _securityCodeLength ), IssueDateTime = RockDateTime.Now, }; Attendance attendance = new Attendance() { ScheduleId = scheduleId, GroupId = item.GroupId, LocationId = item.LocationId, DeviceId = _kioskDeviceId, AttendanceCode = attendanceCode, StartDateTime = checkinDateTime, EndDateTime = null, DidAttend = true, CampusId = 1 }; if ( !attendanceData.Keys.Contains( member.Person.Guid )) { attendanceData.Add( member.Person.Guid, new List<Attendance>()); } attendanceData[member.Person.Guid].Add( attendance); } } }
public IActionResult DoClock(string actionType, string by = "ajax") { int?uid = HttpContext.Session.GetInt32("uid"); if (uid == null) { return(RedirectToAction("Login", "Login")); } string result = "0"; if (actionType == null || actionType.Trim().Equals("")) { result = "Some error occured. Please try again later."; } int acType; if (!Int32.TryParse(actionType, out acType) || acType < (int)AttendanceType.In || acType > (int)AttendanceType.Out) { result = "Some error occured. Please try again later."; } if (result.Equals("0")) { if (acType == (int)AttendanceType.In) { List <Attendance> clockIns = AttendanceService.FindAttendanceByUserAndDateAndType((int)uid, DateTime.Now, AttendanceType.In); if (clockIns.Count > 0) { Attendance clockIn = clockIns[clockIns.Count - 1]; result = "You have clocked in today at ." + clockIn.ActionTime.ToString(); } else { AttendanceService.AddAttendance((int)uid, DateTime.Now, (AttendanceType)acType); } } else { DateTime t = DateTime.Now; List <Attendance> clockOuts = AttendanceService.FindAttendanceByUserAndDateAndType((int)uid, t, AttendanceType.Out); if (clockOuts.Count > 0) { Attendance clkOut = clockOuts[clockOuts.Count - 1]; clkOut.ActionTime = t; AttendanceService.UpdateAttendance(clkOut); } else { AttendanceService.AddAttendance((int)uid, t, (AttendanceType)acType); } } } if (by.Equals("ajax")) { return(Content(result)); } else { return(RedirectToAction("History", "Attendance", new { r = result })); } }
/// <summary> /// Launches the workflow. /// </summary> /// <param name="rockContext">The rock context.</param> /// <param name="connectionWorkflow">The connection workflow.</param> /// <param name="name">The name.</param> private void LaunchWorkflow( RockContext rockContext, Attendance attendance, PersonAlias pagePersonAlias, WorkflowType pageWorkflowType ) { if ( pageWorkflowType != null ) { var workflow = Rock.Model.Workflow.Activate( pageWorkflowType, pageWorkflowType.WorkTerm, rockContext ); if ( workflow != null ) { workflow.SetAttributeValue( "Person", attendance.PersonAlias.Guid ); workflow.SetAttributeValue( "PagePerson", pagePersonAlias.Guid ); var workflowService = new Rock.Model.WorkflowService( rockContext ); List<string> workflowErrors; if ( workflowService.Process( workflow, attendance, out workflowErrors ) ) { if ( workflow.Id != 0 ) { if ( workflow.HasActiveEntryForm( CurrentPerson ) ) { var qryParam = new Dictionary<string, string>(); qryParam.Add( "WorkflowTypeId", pageWorkflowType.Id.ToString() ); qryParam.Add( "WorkflowId", workflow.Id.ToString() ); NavigateToLinkedPage( "WorkflowEntryPage", qryParam ); } else { mdWorkflowLaunched.Show( string.Format( "A '{0}' workflow has been started.", pageWorkflowType.Name ), ModalAlertType.Information ); } } else { mdWorkflowLaunched.Show( string.Format( "A '{0}' workflow was processed (but not persisted).", pageWorkflowType.Name ), ModalAlertType.Information ); } } else { mdWorkflowLaunched.Show( "Workflow Processing Error(s):<ul><li>" + workflowErrors.AsDelimited( "</li><li>" ) + "</li></ul>", ModalAlertType.Information ); } return; } } Dictionary<string, string> qParams = new Dictionary<string, string>(); qParams.Add( "AttendanceId", attendance.Id.ToString() ); qParams.Add( "PagePersonId", pagePersonAlias.Person.Id.ToString() ); NavigateToLinkedPage( "WorkflowEntryPage", qParams ); }
public void Remove(Attendance attendance) { _context.Attendance.Remove(attendance); }
public DataSet SaveLogoutDetails(Attendance.Entities.Entities objEntity, int UserLogID) { DataSet dsLogoutDet = new DataSet(); try { SqlDataAdapter daLogout = new SqlDataAdapter("[USP_AddLogout]", connectionString); daLogout.SelectCommand.Parameters.Add(new SqlParameter("@UserID", objEntity.UserID)); daLogout.SelectCommand.Parameters.Add(new SqlParameter("@loguserID", UserLogID)); daLogout.SelectCommand.Parameters.Add(new SqlParameter("@LogOutDate", objEntity.LogOutDate)); daLogout.SelectCommand.Parameters.Add(new SqlParameter("@LogOutNotes", objEntity.LogOutNotes)); daLogout.SelectCommand.CommandType = CommandType.StoredProcedure; daLogout.Fill(dsLogoutDet); return dsLogoutDet; } catch (Exception ex) { throw ex; } }
protected void btnSave_Click( object sender, EventArgs e ) { RockContext rockContext = new RockContext(); var attendanceService = new AttendanceService( rockContext ); var groupMemberService = new GroupMemberService( rockContext ); foreach ( RepeaterItem item in rptScheduleDates.Items ) { var placeholder = item.FindControl( "phGroups" ) as PlaceHolder; if (placeholder != null ) { // get groups foreach( Control control in placeholder.Controls ) { if (control is DropDownList ) { var ddlGroup = (DropDownList)control; var groupId = ddlGroup.SelectedValue.AsInteger(); var scheduleId = ddlGroup.Attributes["schedule-id"].AsInteger(); var scheduleDate = ddlGroup.Attributes["schedule-date"].AsDateTime(); var originalGroupId = ddlGroup.Attributes["original-group-id"].AsInteger(); // check if person is already registered for this schedule var attending = _personalSchedules.Where( p => p.Date.Date == scheduleDate.Value.Date && p.Schedule.Id == scheduleId && p.Group.Id == groupId ) .Any(); if ( originalGroupId != 0 && groupId == 0 ) { RemovePersonRsvp( CurrentPerson, originalGroupId, scheduleId, scheduleDate ); } else if (!attending && groupId != 0 ) { // remove existing record if ( originalGroupId != 0 ) { RemovePersonRsvp( CurrentPerson, originalGroupId, scheduleId, scheduleDate ); } // mark them as coming var attendanceRecord = new Attendance(); attendanceRecord.PersonAliasId = CurrentPersonAliasId; attendanceRecord.GroupId = groupId; attendanceRecord.ScheduleId = scheduleId; attendanceRecord.StartDateTime = scheduleDate.Value.Date; attendanceRecord.RSVP = RSVP.Yes; attendanceRecord.LocationId = _location.Id; attendanceService.Add( attendanceRecord ); rockContext.SaveChanges(); // add them to the group var groupMember = groupMemberService.Queryable().Where( m => m.PersonId == CurrentPersonId && m.GroupId == groupId ).FirstOrDefault(); if (groupMember == null ) { bool createAsInactive = GetAttributeValue( "GroupMembersInactive" ).AsBoolean(); groupMember = new GroupMember(); groupMemberService.Add( groupMember ); groupMember.PersonId = CurrentPersonId.Value; groupMember.GroupId = groupId; groupMember.GroupMemberStatus = createAsInactive ? GroupMemberStatus.Inactive : GroupMemberStatus.Active; groupMember.GroupRoleId = _groupRoleId; } rockContext.SaveChanges(); var scheduleName = new ScheduleService( rockContext ).Queryable().Where( s => s.Id == scheduleId ).Select( s => s.Name ).FirstOrDefault(); if ( !string.IsNullOrWhiteSpace( GetAttributeValue( "DescriptionAttribute" ) ) ) { groupMember.LoadAttributes(); groupMember.SetAttributeValue( GetAttributeValue( "DescriptionAttribute" ), string.Format( "{0} {1}", scheduleDate.Value.ToShortDateString(), scheduleName ) ); groupMember.SaveAttributeValues(); } } } } } } nbMessages.NotificationBoxType = NotificationBoxType.Success; nbMessages.Text = "Your changes have been saved."; }
public void Update(Attendance Attendances) { _context.DALContext.AttendancesDAL.Update(Attendances); PrepareForEmail(Attendances); }
public bool AddUser(Attendance.Entities.UserInfo objInfo, Attendance.Entities.EmergencyContactInfo objContactInfo,int EnteredBy, string Locationname, string PhotoLink) { bool success=false; try { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["AttendanceConn"].ToString()); con.Open(); SqlCommand command = new SqlCommand("[USP_INSERT]", con); command.CommandType = CommandType.StoredProcedure; //command.Parameters.Add("@EmpID", SqlDbType.VarChar).Value = objInfo.EmpID; command.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = objInfo.Firstname; command.Parameters.Add("@LastName", SqlDbType.VarChar).Value = objInfo.Lastname; command.Parameters.Add("@ProfessionalFirstName", SqlDbType.VarChar).Value = objInfo.BFirstname; command.Parameters.Add("@ProfessionalLastName", SqlDbType.VarChar).Value = objInfo.BLastname; command.Parameters.Add("@Startdate", SqlDbType.DateTime).Value = objInfo.StartDt; command.Parameters.Add("@DeptName", SqlDbType.VarChar).Value = objInfo.Deptname; command.Parameters.Add("@Designation", SqlDbType.VarChar).Value = objInfo.Designation; command.Parameters.Add("@Location", SqlDbType.VarChar).Value = Locationname; command.Parameters.Add("@EnteredBy", SqlDbType.Int).Value = EnteredBy; command.Parameters.Add("@scheduleID", SqlDbType.Int).Value = objInfo.ScheduleID; command.Parameters.Add("@IsActive", SqlDbType.Bit).Value = objInfo.IsActive; command.Parameters.Add("@photoLink", SqlDbType.VarChar).Value = PhotoLink; command.Parameters.Add("@EmpTypeID", SqlDbType.Int).Value = objInfo.EmpTypeID; command.Parameters.Add("@ShiftID", SqlDbType.Int).Value = objInfo.ShiftID; command.Parameters.Add("@Gender", SqlDbType.VarChar).Value = objInfo.Gender; command.Parameters.Add("@phoneNum", SqlDbType.VarChar).Value = objInfo.Phone; command.Parameters.Add("@DateofBirth", SqlDbType.DateTime).Value = objInfo.DateOfBirth; command.Parameters.Add("@mobileNum", SqlDbType.VarChar).Value = objInfo.Mobile; command.Parameters.Add("@BusinessEmail", SqlDbType.VarChar).Value = objInfo.BusinessEmail; command.Parameters.Add("@PersonalEmail", SqlDbType.VarChar).Value = objInfo.PersonalEmail; command.Parameters.Add("@MaritalStatusID", SqlDbType.Int).Value = objInfo.MaritalID; command.Parameters.Add("@County", SqlDbType.VarChar).Value = objInfo.County; command.Parameters.Add("@WageID", SqlDbType.Int).Value = objInfo.WageID; command.Parameters.Add("@Deductions", SqlDbType.Int).Value = objInfo.Deductions; command.Parameters.Add("@Salary", SqlDbType.VarChar).Value = objInfo.Salary; command.Parameters.Add("@Person1", SqlDbType.VarChar).Value = objContactInfo.Person1; command.Parameters.Add("@P1Address1", SqlDbType.VarChar).Value = objContactInfo.P1Address1; command.Parameters.Add("@P1Address2", SqlDbType.VarChar).Value = objContactInfo.P1Address2; command.Parameters.Add("@phone1", SqlDbType.VarChar).Value = objContactInfo.Phone1; command.Parameters.Add("@relation1", SqlDbType.VarChar).Value = objContactInfo.Relation1; command.Parameters.Add("@person2", SqlDbType.VarChar).Value = objContactInfo.Person2; command.Parameters.Add("@p2Address1", SqlDbType.VarChar).Value = objContactInfo.P2Address1; command.Parameters.Add("@p2Address2", SqlDbType.VarChar).Value = objContactInfo.P2Address2; command.Parameters.Add("@phone2", SqlDbType.VarChar).Value = objContactInfo.Phone2; command.Parameters.Add("@relation2", SqlDbType.VarChar).Value = objContactInfo.Relation2; command.Parameters.Add("@email2", SqlDbType.VarChar).Value = objContactInfo.Email2; command.Parameters.Add("@email1", SqlDbType.VarChar).Value = objContactInfo.Email1; command.Parameters.Add("@email3", SqlDbType.VarChar).Value = objContactInfo.Email3; command.Parameters.Add("@StateID1", SqlDbType.Int).Value = objContactInfo.StateID1; command.Parameters.Add("@StateID2", SqlDbType.Int).Value = objContactInfo.StateID2; command.Parameters.Add("@StateID3", SqlDbType.Int).Value = objContactInfo.StateID3; command.Parameters.Add("@Zip1", SqlDbType.VarChar).Value = objContactInfo.Zip1; command.Parameters.Add("@Zip2", SqlDbType.VarChar).Value = objContactInfo.Zip2; command.Parameters.Add("@Zip3", SqlDbType.VarChar).Value = objContactInfo.Zip3; command.Parameters.Add("@person3", SqlDbType.VarChar).Value = objContactInfo.Person3; command.Parameters.Add("@p3Address1", SqlDbType.VarChar).Value = objContactInfo.P3Address1; command.Parameters.Add("@p3Address2", SqlDbType.VarChar).Value = objContactInfo.P3Address2; command.Parameters.Add("@phone3", SqlDbType.VarChar).Value = objContactInfo.Phone3; command.Parameters.Add("@relation3", SqlDbType.VarChar).Value = objContactInfo.Relation3; command.Parameters.Add("@StateID", SqlDbType.Int).Value = objInfo.StateID; command.Parameters.Add("@Address1", SqlDbType.VarChar).Value = objInfo.Address1; command.Parameters.Add("@Address2", SqlDbType.VarChar).Value = objInfo.Address2; command.Parameters.Add("@zip", SqlDbType.VarChar).Value = objInfo.Zip; command.Parameters.Add("@SSN", SqlDbType.VarChar).Value = objInfo.SSN; command.Parameters.Add("@drivingLicenceNum", SqlDbType.VarChar).Value = objInfo.DriverLicense; command.ExecuteNonQuery(); con.Close(); success = true; } catch (Exception ex) { } return success; }
public IActionResult GetHistory(string start, string end, string uid) { int u; DateTime startTime, endTime; if (start == null || end == null || uid == null || !Int32.TryParse(uid, out u) || !DateTime.TryParse(start, out startTime) || !DateTime.TryParse(end, out endTime) || u <= 0) { return(Content("")); } List <Attendance> attendances = AttendanceService.FindAttendanceByUserWithinDates(u, startTime, endTime); string attendanceJson = ""; attendanceJson += "["; for (int i = 0; i < attendances.Count; i++) { Attendance attendance = attendances[i]; if (i == 0) { attendanceJson += "{"; } else { attendanceJson += ",{"; } double timeStamp = ((DateTime)attendance.ActionTime).Subtract(new DateTime(1970, 1, 1)).TotalSeconds; timeStamp *= 1000; //DateTime time = (DateTime)attendance.ActionTime; //string timeStamp = time.Year + "-"; //timeStamp += time.Month < 10 ? "0" + time.Month : "" + time.Month; //timeStamp += "-"; //timeStamp += time.Day < 10 ? "0" + time.Day : "" + time.Day; //timeStamp += "T"; //timeStamp += time.Hour < 10 ? "0" + time.Hour : "" + time.Hour; //timeStamp += ":"; //timeStamp += time.Minute < 10 ? "0" + time.Minute : "" + time.Minute; //timeStamp += ":"; //timeStamp += time.Second < 10 ? "0" + time.Second : "" + time.Second; //timeStamp += "."; //if (time.Millisecond > 99) //{ // timeStamp += "" + time.Millisecond; //} //else if (time.Millisecond > 9 && time.Millisecond <= 99) //{ // timeStamp += "0" + time.Millisecond; //} //else //{ // timeStamp += "00" + time.Millisecond; //} attendanceJson += "\"title\":\"" + (attendance.ActionType == (int)AttendanceType.In ? "Clock in" : "Clock out") + "\","; attendanceJson += "\"start\":" + timeStamp + ","; attendanceJson += "\"end\":" + timeStamp + ""; //attendanceJson += "\"start\":\"" + timeStamp + "\","; //attendanceJson += "\"end\":\"" + timeStamp + "\""; attendanceJson += "}"; } attendanceJson += "]"; return(Content(attendanceJson)); }
private void Act(Attendance attendance) => _participant.Attend(attendance);
public void SaveManagerDetails(Attendance.Entities.Entities entities) { try { SqlConnection con = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand("USP_AddIP", con); cmd.CommandType = CommandType.StoredProcedure; con.Open(); cmd.Parameters.AddWithValue("@LocationName", entities.LocationName); cmd.Parameters.AddWithValue("@PassCode", entities.passcode); cmd.Parameters.AddWithValue("@EMPID", entities.EMPID); cmd.Parameters.AddWithValue("@IpAddress", entities.IpAddress); cmd.Parameters.AddWithValue("@CurrentDate", entities.StartTime); cmd.ExecuteNonQuery(); con.Close(); } catch (Exception ex) { throw ex; } }
public void Add(Attendance attendance) { db.Attendances.Add(attendance); db.SaveChanges(); }
public List<Attendance> GetEmployeesLateByDate(DateTime date) { List<Attendance> objAttendances = new List<Attendance>(); DataTable dt; DBDataHelper.ConnectionString = ConfigurationManager.ConnectionStrings["CSBiometricAttendance"].ConnectionString; List<SqlParameter> list_params = new List<SqlParameter>() { new SqlParameter("@date", date) }; try { using (DBDataHelper helper = new DBDataHelper()) { dt = helper.GetDataTable("spGetEmployeesDefaultersByDate", SQLTextType.Stored_Proc, list_params); for (int i = 0; i < dt.Rows.Count; i++) { Attendance objAttendance = new Attendance(); objAttendance.EmployeeId = Convert.ToInt32(dt.Rows[i]["EmployeeId"]); objAttendance.EntryTime = Convert.ToDateTime(dt.Rows[0]["EntryTime"]); objAttendances.Add(objAttendance); } } return objAttendances; } catch (Exception) { return objAttendances; } }
public void Delete(Attendance attendance) { db.Attendances.Remove(attendance); db.SaveChanges(); }
public int SaveAttendanceHistory(Attendance.Entities.AttendenceInfo objInfo) { DataSet ds = new DataSet(); int AtnLogID = 0; try { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["AttendanceConn"].ToString()); SqlCommand cmd = new SqlCommand(); SqlDataAdapter da = new SqlDataAdapter("[USP_SaveEmpAttendanceHistory]", con); da.SelectCommand.Parameters.Add(new SqlParameter("@userid", objInfo.Userid)); da.SelectCommand.Parameters.Add(new SqlParameter("@Wkgdays", objInfo.WorkingDays)); da.SelectCommand.Parameters.Add(new SqlParameter("@Atndays", objInfo.AttendDays)); da.SelectCommand.Parameters.Add(new SqlParameter("@Leaves", objInfo.Leaves)); da.SelectCommand.Parameters.Add(new SqlParameter("@Noshow", objInfo.NoShow)); da.SelectCommand.Parameters.Add(new SqlParameter("@PaidLeaves", objInfo.PaidLeaves)); da.SelectCommand.Parameters.Add(new SqlParameter("@PaidLeavesUsed", objInfo.PaidLeavesUsed)); da.SelectCommand.Parameters.Add(new SqlParameter("@PaidLeavesBalanced", objInfo.PaidLeavesBalanced)); da.SelectCommand.Parameters.Add(new SqlParameter("@TotalCalLeaves", objInfo.TotalCalLeaves1)); da.SelectCommand.Parameters.Add(new SqlParameter("@EnteredDate", objInfo.EnterDate)); da.SelectCommand.Parameters.Add(new SqlParameter("@EnterBy", objInfo.EnterBy)); da.SelectCommand.Parameters.Add(new SqlParameter("@month", objInfo.Mnth)); da.SelectCommand.Parameters.Add(new SqlParameter("@year", objInfo.Yr)); da.SelectCommand.CommandType = CommandType.StoredProcedure; da.Fill(ds); if (ds.Tables.Count > 0) { if (ds.Tables[0].Rows.Count > 0) { AtnLogID = Convert.ToInt32(ds.Tables[0].Rows[0]["AtnLogID"].ToString()); } } } catch (Exception ex) { } return AtnLogID; }
public JsonResult SaveAttendanceForClass(List <string[]> myData) { int nUser_Id; nStudentIdArr = (long[])TempData.Peek("StudentIdArr"); string sReturnText = string.Empty; DateTime termEndDate; DateTime termStartDate; using (var dbcontext = new SchoolERPDBContext()) { //nUser_Id = dbcontext.Users.Where(x => x.User_Id == User.Identity.Name).ToList()[0].Id; ; nUser_Id = 4; } int nCount = myData.ToList().Count; int nTerm_Id = Convert.ToInt16(TempData.Peek("Term_Id_For_Attendance")); int nLoopCount = 0; using (var dbcontext = new SchoolERPDBContext()) { termEndDate = dbcontext.Term.Where(x => x.Id == nTerm_Id).ToList()[0].To_Date; termStartDate = dbcontext.Term.Where(x => x.Id == nTerm_Id).ToList()[0].From_Date; } TimeSpan difference = termEndDate - termStartDate; int nDays = Convert.ToInt16(difference.TotalDays); nDays = nDays + 1; using (var dbcontext = new SchoolERPDBContext()) { using (var transaction = dbcontext.Database.BeginTransaction()) { try { for (int iAttendanceLoopCount = 1; iAttendanceLoopCount < myData.ToList().Count(); iAttendanceLoopCount++) { for (int nColumnCount = 3; nColumnCount < 3 + nDays; nColumnCount++) { Attendance newAttendance = new Attendance(); newAttendance.Academic_Year = Convert.ToInt32(GetAcademicYear()); if (Convert.ToString(myData[iAttendanceLoopCount][nColumnCount]) != "P" && Convert.ToString(myData[iAttendanceLoopCount][nColumnCount]) != "H" && Convert.ToString(myData[iAttendanceLoopCount][nColumnCount]) != "PH" && Convert.ToString(myData[iAttendanceLoopCount][nColumnCount]) != null) { newAttendance.Class_Id = Convert.ToInt16(TempData.Peek("Class_Id_For_Attendance")); newAttendance.Section_Id = Convert.ToInt16(TempData.Peek("Section_Id_For_Attendance")); newAttendance.Leave_Date = termStartDate.AddDays(nColumnCount - 3); newAttendance.Student_Id = nStudentIdArr[iAttendanceLoopCount - 1]; newAttendance.Leave_Reason = myData[iAttendanceLoopCount][nColumnCount]; newAttendance.Is_Active = true; //newAttendance.Is_Deleted = false; newAttendance.Term_Id = Convert.ToInt16(TempData.Peek("Term_Id_For_Attendance")); newAttendance.Created_By = 4; newAttendance.Created_On = DateTime.Now; newAttendance.Academic_Year = Convert.ToInt16(TempData.Peek("Year_For_Attendance")); if (dbcontext.Attendance.Where(a => a.Student_Id == newAttendance.Student_Id && a.Academic_Year == newAttendance.Academic_Year && a.Leave_Date == newAttendance.Leave_Date && (a.Is_Deleted == false || a.Is_Deleted == null)).Count() == 0) { dbcontext.Attendance.Add(newAttendance); dbcontext.SaveChanges(); } else { var attendanceId = dbcontext.Attendance.Where(a => a.Student_Id == newAttendance.Student_Id && a.Academic_Year == newAttendance.Academic_Year && a.Leave_Date == newAttendance.Leave_Date && (a.Is_Deleted == false || a.Is_Deleted == null)).ToList()[0].Id; Attendance attendanceToBeUpdated = dbcontext.Attendance.Find(attendanceId); attendanceToBeUpdated.Leave_Reason = myData[iAttendanceLoopCount][nColumnCount]; attendanceToBeUpdated.Is_Active = true; dbcontext.Entry(attendanceToBeUpdated).State = EntityState.Modified; dbcontext.SaveChanges(); } } else { newAttendance.Leave_Date = termStartDate.AddDays(nColumnCount - 3); string LeaveReason = myData[iAttendanceLoopCount][nColumnCount]; if (dbcontext.Attendance.Where(a => a.Student_Id == newAttendance.Student_Id && a.Academic_Year == newAttendance.Academic_Year && a.Leave_Date == newAttendance.Leave_Date && (a.Is_Deleted == false || a.Is_Deleted == null) && a.Leave_Reason != LeaveReason).Count() > 0) { var attendanceId = dbcontext.Attendance.Where(a => a.Student_Id == newAttendance.Student_Id && a.Academic_Year == newAttendance.Academic_Year && a.Leave_Date == newAttendance.Leave_Date && (a.Is_Deleted == false || a.Is_Deleted == null)).ToList()[0].Id; Attendance attendanceToBeUpdated = dbcontext.Attendance.Find(attendanceId); attendanceToBeUpdated.Leave_Reason = myData[iAttendanceLoopCount][nColumnCount]; attendanceToBeUpdated.Is_Active = false; attendanceToBeUpdated.Is_Deleted = true; dbcontext.Entry(attendanceToBeUpdated).State = EntityState.Modified; dbcontext.SaveChanges(); } } if (iAttendanceLoopCount == myData.ToList().Count() - 1 && nColumnCount == 3 + (nDays - 1)) { transaction.Commit(); sReturnText = "OK"; } } } } catch (Exception ex) { transaction.Rollback(); } } return(Json(sReturnText, JsonRequestBehavior.AllowGet)); } }
public bool SaveSalaryHistory(Attendance.Entities.SalaryInfo objInfo) { DataSet ds = new DataSet(); bool success = false; try { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["AttendanceConn"].ToString()); SqlCommand cmd = new SqlCommand(); SqlDataAdapter da = new SqlDataAdapter("[USP_SaveEmpSalaryHistory]", con); da.SelectCommand.Parameters.Add(new SqlParameter("@AtnLogID", objInfo.AtnLogID)); da.SelectCommand.Parameters.Add(new SqlParameter("@CalSalary", objInfo.CalSalary)); da.SelectCommand.Parameters.Add(new SqlParameter("@Bonus", objInfo.Bonus)); da.SelectCommand.Parameters.Add(new SqlParameter("@Incentives", objInfo.Incentives)); da.SelectCommand.Parameters.Add(new SqlParameter("@PrevUnpaid", objInfo.PrevUnpaid)); da.SelectCommand.Parameters.Add(new SqlParameter("@Advancepaid", objInfo.AdvancePaid)); da.SelectCommand.Parameters.Add(new SqlParameter("@ExpensesRecieved", objInfo.Expenses)); da.SelectCommand.Parameters.Add(new SqlParameter("@LoanDeduct", objInfo.LoanDeduct)); da.SelectCommand.Parameters.Add(new SqlParameter("@TotalPay", objInfo.TotalPay)); da.SelectCommand.Parameters.Add(new SqlParameter("@EnteredDate", objInfo.EnteredDate)); da.SelectCommand.Parameters.Add(new SqlParameter("@EnterBy", objInfo.EnterBy)); da.SelectCommand.Parameters.Add(new SqlParameter("@Month", objInfo.Mnth)); da.SelectCommand.Parameters.Add(new SqlParameter("@Year", objInfo.Years)); da.SelectCommand.Parameters.Add(new SqlParameter("@InternalNotes", objInfo.InternalNotes)); da.SelectCommand.CommandType = CommandType.StoredProcedure; da.Fill(ds); if (ds.Tables.Count > 0) { if (ds.Tables[0].Rows.Count > 0) { success = true; } } } catch (Exception ex) { } return success; }
/// <summary> /// Handles the Click event of the lbSave control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> protected void lbSave_Click(object sender, EventArgs e) { if (_group != null && _occurrence != null) { var rockContext = new RockContext(); var attendanceService = new AttendanceService(rockContext); var personAliasService = new PersonAliasService(rockContext); var locationService = new LocationService(rockContext); bool dateAdjusted = false; DateTime startDate = _occurrence.Date; // If this is a manuall entered occurrence, check to see if date was changed if (!_occurrence.ScheduleId.HasValue) { DateTime?originalDate = PageParameter("Date").AsDateTime(); if (originalDate.HasValue && originalDate.Value.Date != startDate.Date) { startDate = originalDate.Value.Date; dateAdjusted = true; } } DateTime endDate = startDate.AddDays(1); var existingAttendees = attendanceService .Queryable("PersonAlias") .Where(a => a.GroupId == _group.Id && a.LocationId == _occurrence.LocationId && a.ScheduleId == _occurrence.ScheduleId && a.StartDateTime >= startDate && a.StartDateTime < endDate); if (dateAdjusted) { foreach (var attendee in existingAttendees) { attendee.StartDateTime = _occurrence.Date; } } // If did not meet was selected and this was a manually entered occurrence (not based on a schedule/location) // then just delete all the attendance records instead of tracking a 'did not meet' value if (cbDidNotMeet.Checked && !_occurrence.ScheduleId.HasValue) { foreach (var attendance in existingAttendees) { attendanceService.Delete(attendance); } } else { int?campusId = locationService.GetCampusIdForLocation(_occurrence.LocationId); if (!campusId.HasValue) { campusId = _group.CampusId; } if (!campusId.HasValue && _allowCampusFilter) { var campus = CampusCache.Read(bddlCampus.SelectedValueAsInt() ?? 0); if (campus != null) { campusId = campus.Id; } } if (cbDidNotMeet.Checked) { // If the occurrence is based on a schedule, set the did not meet flags foreach (var attendance in existingAttendees) { attendance.DidAttend = null; attendance.DidNotOccur = true; } } foreach (var attendee in _attendees) { var attendance = existingAttendees .Where(a => a.PersonAlias.PersonId == attendee.PersonId) .FirstOrDefault(); if (attendance == null) { int?personAliasId = personAliasService.GetPrimaryAliasId(attendee.PersonId); if (personAliasId.HasValue) { attendance = new Attendance(); attendance.GroupId = _group.Id; attendance.ScheduleId = _group.ScheduleId; attendance.PersonAliasId = personAliasId; attendance.StartDateTime = _occurrence.Date.Date.Add(_occurrence.StartTime); attendance.LocationId = _occurrence.LocationId; attendance.CampusId = campusId; attendance.ScheduleId = _occurrence.ScheduleId; // check that the attendance record is valid cvAttendance.IsValid = attendance.IsValid; if (!cvAttendance.IsValid) { cvAttendance.ErrorMessage = attendance.ValidationResults.Select(a => a.ErrorMessage).ToList().AsDelimited("<br />"); return; } attendanceService.Add(attendance); } } if (attendance != null) { if (cbDidNotMeet.Checked) { attendance.DidAttend = null; attendance.DidNotOccur = true; } else { attendance.DidAttend = attendee.Attended; attendance.DidNotOccur = null; } } } } if (_occurrence.LocationId.HasValue) { Rock.CheckIn.KioskLocationAttendance.Flush(_occurrence.LocationId.Value); } rockContext.SaveChanges(); WorkflowType workflowType = null; Guid? workflowTypeGuid = GetAttributeValue("Workflow").AsGuidOrNull(); if (workflowTypeGuid.HasValue) { var workflowTypeService = new WorkflowTypeService(rockContext); workflowType = workflowTypeService.Get(workflowTypeGuid.Value); if (workflowType != null) { try { var workflow = Workflow.Activate(workflowType, _group.Name); workflow.SetAttributeValue("StartDateTime", _occurrence.Date.ToString("o")); workflow.SetAttributeValue("Schedule", _group.Schedule.Guid.ToString()); List <string> workflowErrors; new WorkflowService(rockContext).Process(workflow, _group, out workflowErrors); } catch (Exception ex) { ExceptionLogService.LogException(ex, this.Context); } } } var qryParams = new Dictionary <string, string> { { "GroupId", _group.Id.ToString() } }; var groupTypeIds = PageParameter("GroupTypeIds"); if (!string.IsNullOrWhiteSpace(groupTypeIds)) { qryParams.Add("GroupTypeIds", groupTypeIds); } NavigateToParentPage(qryParams); } }
public bool UpdatePaidLeavesDetAfterFinalPayroll(Attendance.Entities.AttendenceInfo objInfo, DateTime CurrentDt,string ip) { bool success = false; try { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["AttendanceConn"].ToString()); con.Open(); SqlCommand command = new SqlCommand("[USP_SavePaidLeaveDetAfterFinalPayroll]", con); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@IPAddress", SqlDbType.VarChar).Value = ip; command.Parameters.Add("@LeaveAvail", SqlDbType.Int).Value = objInfo.PaidLeaves; command.Parameters.Add("@CurrentDt", SqlDbType.DateTime).Value = CurrentDt; command.Parameters.Add("@LeaveUsed", SqlDbType.Int).Value = objInfo.PaidLeavesUsed; command.Parameters.Add("@LeaveBalanced", SqlDbType.Int).Value = objInfo.PaidLeavesBalanced; command.Parameters.Add("@EnterBY", SqlDbType.Int).Value = objInfo.EnterBy ; command.Parameters.Add("@PaidLeaveUserID", SqlDbType.Int).Value = objInfo.Userid; // command.Parameters.Add("@EnteredBy", SqlDbType.Int).Value = objInfo.EnterBy; command.Parameters.Add("@EnterDt", SqlDbType.DateTime).Value = objInfo.EnterDate; command.ExecuteNonQuery(); con.Close(); success = true; } catch (Exception ex) { } return success; }
static void Main(string[] args) { var control = new StudentControl(); var students = control.GetAllStudents(); Console.WriteLine("Students\n-----------------------------------------------"); foreach (var s in students) { Console.WriteLine("Name: " + s.People.FirstName + " " + s.People.LastName); foreach (var g in s.Grades) { Console.WriteLine("Course: " + g.Courses.CourseName + " Grade: " + g.Grade); Console.WriteLine("--------------------------------------------------------"); } } var peopleCtx = new PeopleControl(); //var people = peopleCtx.GetAllPeople(); //// Insert //peopleCtx.InsertPeople(new People() { FirstName = "Algot", LastName = "Alfredsson", Email = "*****@*****.**" }); //people.ToList().ForEach(x => Console.WriteLine($"{x.Id} {x.FirstName} {x.LastName} {x.Email}")); //Delete //var input = Console.ReadLine(); //var toDelete = peopleCtx.PeopleByID(int.Parse(input)); //peopleCtx.RemovePeople(toDelete); //var newPeople = peopleCtx.GetAllPeople(); //newPeople.ToList().ForEach(x => Console.WriteLine($"{x.Id} {x.FirstName} {x.LastName} {x.Email}")); //Update //Console.WriteLine("id: "); //var nameID = Console.ReadLine(); //Console.WriteLine("New Name:"); //var namechange = Console.ReadLine(); //var nameChangePerson = peopleCtx.PeopleByID(int.Parse(nameID)); //nameChangePerson.FirstName = namechange; //peopleCtx.UpdatePeople(nameChangePerson); //var newPeople2 = peopleCtx.GetAllPeople(); //newPeople2.ToList().ForEach(x => Console.WriteLine($"{x.Id} {x.FirstName} {x.LastName} {x.Email}")); //Insert Student var ppl = new People() { FirstName = "Lisa", LastName = "Sävås", Email = "Lisa@Sävås.se" }; peopleCtx.InsertPeople(ppl); var studentClass = new StudentClasses() { ClassName = "WIN15" }; var studentClassesCtx = new ClassesControl(); studentClassesCtx.InsertorUpdateClass(studentClass); var educationCTX = new EducationsControl(); var education = new Educations() { EducationName = "Administration" }; educationCTX.InsertorUpdateEducation(education); var newStudent = new Students() { PersonId = ppl.Id, StudentClass_Id = studentClass.Id, EducationId = education.Id }; control.InsertStudent(newStudent); var newStudentContext = new StudentControl(); var studentsList = newStudentContext.GetAllStudents().ToList(); Console.WriteLine("Added new student Lisa"); Console.WriteLine("-------Students Again-------"); foreach (var stud in studentsList) { Console.WriteLine("Name: " + stud.People.FirstName + " " + stud.People.LastName); Console.WriteLine("CourseID: " + stud.StudentClasses.Id + " Class: " + stud.StudentClasses.ClassName); Console.WriteLine("ID: " + stud.Educations.Id + " Education Name: " + stud.Educations.EducationName); Console.WriteLine("--------------------------------------------------------------------------------"); } var AttendanceControl = new AttendanceControl(); Attendance att = new Attendance() { Date = new DateTime(2016, 11, 02), StudentID = newStudent.Id, CourseID = 2, Attendance1 = false }; AttendanceControl.InsertAttendance(att); var lisa = newStudentContext.StudentsByID(newStudent.Id); var attendance = new AttendanceControl(); var attendanceObj = attendance.AttendaceByStudentAndCourseID(newStudent.Id, 2); Console.WriteLine("Added new attendance for Lisa"); Console.WriteLine("-----Attendance-----"); Console.WriteLine($"{lisa.People.FirstName} {lisa.People.LastName} Närvaro i {attendanceObj.Courses.CourseName} den {attendanceObj.Date}: {attendanceObj.Attendance1}"); Console.WriteLine(); AttendanceControl.RemoveAttendance(att); //educationCTX.RemoveEducation(education); control.RemoveStudent(newStudent); studentClassesCtx.RemoveClass(studentClass); educationCTX.RemoveEducation(education); peopleCtx.RemovePeople(ppl); Console.ReadKey(); }
public bool UpdateUser(Attendance.Entities.UserInfo objInfo, int EmployeeID, int EnteredBy,string PhotoLink,string Ipaddress,DateTime EffectiveDate,bool Isnow) { bool success = false; try { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["AttendanceConn"].ToString()); con.Open(); SqlCommand command = new SqlCommand("[USP_UpdateUserDetails]", con); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@UserID", SqlDbType.Int).Value = EmployeeID; // command.Parameters.Add("@EmpID", SqlDbType.VarChar).Value = objInfo.EmpID; command.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = objInfo.Firstname; command.Parameters.Add("@LastName", SqlDbType.VarChar).Value = objInfo.Lastname; command.Parameters.Add("@ProfessionalFirstName", SqlDbType.VarChar).Value = objInfo.BFirstname; command.Parameters.Add("@ProfessionalLastName", SqlDbType.VarChar).Value = objInfo.BLastname; command.Parameters.Add("@Startdate", SqlDbType.DateTime).Value = objInfo.StartDt; command.Parameters.Add("@TermReason", SqlDbType.VarChar).Value = objInfo.TermReason; command.Parameters.Add("@TermDate", SqlDbType.DateTime).Value = objInfo.TermDt; command.Parameters.Add("@DeptName", SqlDbType.VarChar).Value = objInfo.Deptname; command.Parameters.Add("@Designation", SqlDbType.VarChar).Value = objInfo.Designation; command.Parameters.Add("@ScheduleID", SqlDbType.Int).Value = objInfo.ScheduleID; command.Parameters.Add("@EmpTypeID", SqlDbType.Int).Value = objInfo.EmpTypeID; command.Parameters.Add("@EnteredBy", SqlDbType.Int).Value = EnteredBy; command.Parameters.Add("@IsActive", SqlDbType.Bit).Value = objInfo.IsActive; command.Parameters.Add("@ShiftID", SqlDbType.Int).Value = objInfo.ShiftID; command.Parameters.Add("@photoLink", SqlDbType.VarChar).Value = PhotoLink; command.Parameters.Add("@Ipaddress", SqlDbType.VarChar).Value = Ipaddress; command.Parameters.Add("@EffectiveDt", SqlDbType.VarChar).Value = EffectiveDate; command.Parameters.Add("@IsNow", SqlDbType.VarChar).Value = Isnow; command.ExecuteNonQuery(); con.Close(); success = true; } catch (Exception ex) { } return success; }
public void Unattend(Attendance attendance) { _context.Attendances.Remove(attendance); }
/// <summary> /// Executes the specified workflow. /// </summary> /// <param name="rockContext">The rock context.</param> /// <param name="action">The action.</param> /// <param name="entity">The entity.</param> /// <param name="errorMessages">The error messages.</param> /// <returns></returns> public override bool Execute( RockContext rockContext, WorkflowAction action, Object entity, out List<string> errorMessages ) { errorMessages = new List<string>(); Guid? groupGuid = null; Person person = null; DateTime attendanceDateTime = DateTime.Now; bool addToGroup = true; // get the group attribute Guid groupAttributeGuid = GetAttributeValue(action, "Group").AsGuid(); if ( !groupAttributeGuid.IsEmpty() ) { groupGuid = action.GetWorklowAttributeValue(groupAttributeGuid).AsGuidOrNull(); if ( !groupGuid.HasValue ) { errorMessages.Add("The group could not be found!"); } } // get person alias guid Guid personAliasGuid = Guid.Empty; string personAttribute = GetAttributeValue( action, "Person" ); Guid guid = personAttribute.AsGuid(); if (!guid.IsEmpty()) { var attribute = AttributeCache.Read( guid, rockContext ); if ( attribute != null ) { string value = action.GetWorklowAttributeValue(guid); personAliasGuid = value.AsGuid(); } if ( personAliasGuid != Guid.Empty ) { person = new PersonAliasService(rockContext).Queryable().AsNoTracking() .Where(p => p.Guid.Equals(personAliasGuid)) .Select(p => p.Person) .FirstOrDefault(); } else { errorMessages.Add("The person could not be found in the attribute!"); } } // get attendance date Guid dateTimeAttributeGuid = GetAttributeValue(action, "AttendanceDatetime").AsGuid(); if ( !dateTimeAttributeGuid.IsEmpty() ) { string attributeDatetime = action.GetWorklowAttributeValue(dateTimeAttributeGuid); if ( !string.IsNullOrWhiteSpace(attributeDatetime) ) { if ( !DateTime.TryParse(attributeDatetime, out attendanceDateTime) ) { errorMessages.Add(string.Format("Could not parse the date provided {0}.", attributeDatetime)); } } } // get add to group addToGroup = GetAttributeValue(action, "AddToGroup").AsBoolean(); // get location Guid locationGuid = Guid.Empty; Guid locationAttributeGuid = GetAttributeValue(action, "Location").AsGuid(); if ( !locationAttributeGuid.IsEmpty() ) { var locationAttribute = AttributeCache.Read(locationAttributeGuid, rockContext); if ( locationAttribute != null ) { locationGuid = action.GetWorklowAttributeValue(locationAttributeGuid).AsGuid(); } } //// get Schedule Guid scheduleGuid = Guid.Empty; Guid scheduleAttributeGuid = GetAttributeValue( action, "Schedule" ).AsGuid(); if ( !scheduleAttributeGuid.IsEmpty() ) { var scheduleAttribute = AttributeCache.Read( scheduleAttributeGuid, rockContext ); if ( scheduleAttribute != null ) { scheduleGuid = action.GetWorklowAttributeValue( scheduleAttributeGuid ).AsGuid(); } } // set attribute if ( groupGuid.HasValue && person != null && attendanceDateTime != DateTime.MinValue ) { var group = new GroupService(rockContext).Queryable("GroupType.DefaultGroupRole") .Where(g => g.Guid == groupGuid) .FirstOrDefault(); if ( group != null ) { GroupMemberService groupMemberService = new GroupMemberService(rockContext); // get group member var groupMember = groupMemberService.Queryable() .Where(m => m.Group.Guid == groupGuid && m.PersonId == person.Id) .FirstOrDefault(); if ( groupMember == null ) { if ( addToGroup ) { if ( group != null ) { groupMember = new GroupMember(); groupMember.GroupId = group.Id; groupMember.PersonId = person.Id; groupMember.GroupMemberStatus = GroupMemberStatus.Active; groupMember.GroupRole = group.GroupType.DefaultGroupRole; groupMemberService.Add(groupMember); rockContext.SaveChanges(); } } else { action.AddLogEntry(string.Format("{0} was not a member of the group {1} and the action was not configured to add them.", person.FullName, group.Name)); } } AttendanceService attendanceService = new AttendanceService(rockContext); Attendance attendance = new Attendance(); attendance.GroupId = group.Id; attendance.PersonAliasId = person.PrimaryAliasId; attendance.StartDateTime = attendanceDateTime; attendance.CampusId = group.CampusId; attendance.DidAttend = true; if ( locationGuid != Guid.Empty ) { var location = new LocationService(rockContext).Queryable().AsNoTracking() .Where(l => l.Guid == locationGuid) .FirstOrDefault(); if ( location != null ) { attendance.LocationId = location.Id; } } attendanceService.Add(attendance); rockContext.SaveChanges(); if ( attendance.LocationId.HasValue ) { Rock.CheckIn.KioskLocationAttendance.Flush( attendance.LocationId.Value ); } } else { errorMessages.Add(string.Format("Could not find group matching the guid '{0}'.", groupGuid)); } } errorMessages.ForEach( m => action.AddLogEntry( m, true ) ); return true; }
public void InsertAttendance(Attendance attendance) { iattendance.InsertAttendance(attendance); }
/// <summary> /// Adds the attendance. /// </summary> /// <param name="attendance">The attendance.</param> public static void AddAttendance( Attendance attendance ) { if ( attendance.LocationId.HasValue ) { var location = KioskLocationAttendance.Read(attendance.LocationId.Value); if (location != null) { AddAttendanceRecord( location, attendance ); } } }
public int MarkAttendanceWithLatLon(int empid, int shift, Double latitude, Double longitude, Int16 markcount) { var context = new ubietydbEntities(); Attendance attendance = new Attendance(); attendance.EmpId = empid; attendance.MarkFlagId = shift; attendance.MarkTime = TimeZoneInfo.ConvertTime(new DateTime(DateTime.Now.Ticks), TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")); attendance.latitude = latitude; attendance.longitude = longitude; attendance.markcount = markcount; context.Attendances.Add(attendance); return context.SaveChanges(); }
private void AttendanceControl_DataContextChanged(FrameworkElement sender, DataContextChangedEventArgs args) { if (this.DataContext != null) { _attendance = this.DataContext as Attendance; Details = new List<KeyValuePair<DateTimeOffset, AttendanceStub>>(_attendance.Details.Count); foreach (AttendanceGroup group in _attendance.Details) foreach (AttendanceStub stub in group.Details) Details.Add(new KeyValuePair<DateTimeOffset, AttendanceStub>(group.ContextDate, stub)); Details.Reverse(); detailsList.DataContext = this; attendanceGrid.DataContext = this; ResetParamters(); } }
public void SaveManagerDetails(Attendance.Entities.Entities entities) { try { SqlConnection con = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand("USP_AddIP", con); cmd.CommandType = CommandType.StoredProcedure; //cmd.CommandText = (); con.Open(); //cmd.Parameters.AddWithValue("@FirstName",entities.FirstName); cmd.Parameters.AddWithValue("@LocationName",entities.LocationName); cmd.Parameters.AddWithValue("@PassCode",entities.passcode); cmd.Parameters.AddWithValue("@EMPID", entities.EMPID); cmd.Parameters.AddWithValue("@IpAddress", entities.IpAddress); //SqlDataAdapter daManager = new SqlDataAdapter(); //daManager.SelectCommand.Parameters.Add(new SqlParameter("@FirstName", entities.FirstName)); //daManager.SelectCommand.Parameters.Add(new SqlParameter("@passcode", entities.passcode)); //daManager.SelectCommand.Parameters.Add(new SqlParameter("@LastName", entities.LastName)); //daManager.SelectCommand.Parameters.Add(new SqlParameter("@LocationName", entities.LocationName)); //daManager.SelectCommand.CommandType = CommandType.StoredProcedure; cmd.ExecuteNonQuery(); con.Close(); } catch (Exception ex) { throw ex; } }
private static Data MapData(Attendance attendance) => new(checkInDate : attendance.CheckInDate);
public void Delete(Attendance attendance) { _context.Attendances.Remove(attendance); }
public DataSet SaveLogDetails(Attendance.Entities.Entities entities) { DataSet dsLoginDet = new DataSet(); try { SqlDataAdapter daLogin = new SqlDataAdapter("[USP_AddLogin1]", connectionString); daLogin.SelectCommand.Parameters.Add(new SqlParameter("@UserID", entities.UserID)); daLogin.SelectCommand.Parameters.Add(new SqlParameter("@passcode", entities.passcode)); daLogin.SelectCommand.Parameters.Add(new SqlParameter("@LoginDate", Convert.ToDateTime((entities.LoginDate)))); daLogin.SelectCommand.Parameters.Add(new SqlParameter("@LoginNotes", entities.LoginNotes)); daLogin.SelectCommand.CommandType = CommandType.StoredProcedure; daLogin.Fill(dsLoginDet); return dsLoginDet; } catch (Exception ex) { throw ex; } return dsLoginDet; }
public void LoadReport() { lbmsg.Text = ""; if (ChkStudent.Checked != true) { if (Pnl_Adm.Visible == true) { //if (ddlSem.SelectedIndex == 0) //{ // lbmsg.Text = "Please Select Semester!"; // lbmsg.ForeColor = System.Drawing.Color.Blue; // return; //} //if (ddlFaculty.SelectedIndex == 0) //{ // lbmsg.Text = "Please Select Faculty!"; // lbmsg.ForeColor = System.Drawing.Color.Blue; // return; //} } if (txtfromDate.Text.ToString() == "") { lbmsg.Text = "Please Select From Date!"; lbmsg.ForeColor = System.Drawing.Color.Blue; return; } if (txttodate.Text.ToString() == "") { lbmsg.Text = "Please Select To Date!"; lbmsg.ForeColor = System.Drawing.Color.Blue; return; } if ((ddlNSym.SelectedIndex > 0) && (Convert.ToString(txtNatt.Text) == "")) { lbmsg.Text = "Please enter -Ve(%) !"; lbmsg.ForeColor = System.Drawing.Color.Blue; return; } if ((ddlRSym.SelectedIndex > 0) && (Convert.ToString(txtRatt.Text) == "")) { lbmsg.Text = "Please enter RATT(%) !"; lbmsg.ForeColor = System.Drawing.Color.Blue; return; } if ((ddlASym.SelectedIndex > 0) && (Convert.ToString(txtAtd.Text) == "")) { lbmsg.Text = "Please enter ATD(%) !"; lbmsg.ForeColor = System.Drawing.Color.Blue; return; } } else { if (txtStud.Text.ToString() == "") { lbmsg.Text = "Please Enter Student ID!"; lbmsg.ForeColor = System.Drawing.Color.Blue; return; } if (txtfromDate.Text.ToString() == "") { lbmsg.Text = "Please Select From Date!"; lbmsg.ForeColor = System.Drawing.Color.Blue; return; } if (txttodate.Text.ToString() == "") { lbmsg.Text = "Please Select To Date!"; lbmsg.ForeColor = System.Drawing.Color.Blue; return; } } Int32 Natt, Ratt, Atd, FacId, BatchID; Natt = -1; Ratt = -1; Atd = -1; if (ddlFaculty.Items.Count == 0) { FacId = 0; if (Session["RoleId"].ToString() != "9") { FacId = Convert.ToInt32(Session["EMPID"].ToString()); } } else { FacId = Convert.ToInt32(ddlFaculty.SelectedValue); } if (ddlClass.Items.Count == 0) { BatchID = 0; } else { BatchID = Convert.ToInt32(ddlClass.SelectedValue); } if (txtNatt.Text != "") { Natt = Convert.ToInt32(txtNatt.Text); } if (txtRatt.Text != "") { Natt = Convert.ToInt32(txtRatt.Text); } if (txtAtd.Text != "") { Natt = Convert.ToInt32(txtNatt.Text); } if (ChkStudent.Checked == true) { Natt = -1; Ratt = -1; Atd = -1; } Attendance a = new Attendance(); // ReportDocument myReportDocument; myReportDocument = new ReportDocument(); try { string Path = Server.MapPath("RelativeAttendance.rpt"); Path = Path.Substring(0, Path.LastIndexOf('\\')); Path = Path.Substring(0, Path.LastIndexOf('\\')); Path = Path + "\\Reports\\RelativeAttendance.rpt"; myReportDocument.Load(Path); string FromDate = DateTime.Parse(txtfromDate.Text).ToString("yyyyMMdd"); string ToDate = DateTime.Parse(txttodate.Text).ToString("yyyyMMdd"); DataTable mytab = new DataTable(); ArrayList pa = new ArrayList(); ArrayList pv = new ArrayList(); pa.Add("@edate1"); pv.Add(FromDate); pa.Add("@edate2"); pv.Add(ToDate); if (ChkStudent.Checked == true) { Natt = -1; Ratt = -1; Atd = -1; pa.Add("@class_id"); pv.Add(0); pa.Add("@Natt"); pv.Add(Natt); pa.Add("@Ratt"); pv.Add(Ratt); pa.Add("@Atd"); pv.Add(Atd); pa.Add("@Nsymbol"); pv.Add(""); pa.Add("@Rsymbol"); pv.Add(""); pa.Add("@Asymbol"); pv.Add(""); pa.Add("@StudId"); pv.Add(txtStud.Text); if (Pnl_Adm.Visible == true) { pa.Add("@SemId"); pv.Add(0); pa.Add("@FacultyId"); pv.Add(0); } } else { pa.Add("@class_id"); pv.Add(BatchID); pa.Add("@Natt"); pv.Add(Natt); pa.Add("@Ratt"); pv.Add(Ratt); pa.Add("@Atd"); pv.Add(Atd); pa.Add("@Nsymbol"); pv.Add(Convert.ToString(ddlNSym.SelectedValue)); pa.Add("@Rsymbol"); pv.Add(Convert.ToString(ddlRSym.SelectedValue)); pa.Add("@Asymbol"); pv.Add(Convert.ToString(ddlASym.SelectedValue)); pa.Add("@StudId"); pv.Add(Convert.ToString(txtStud.Text)); if (Pnl_Adm.Visible == true) { pa.Add("@SemId"); pv.Add(ddlSem.SelectedValue); } pa.Add("@FacultyId"); pv.Add(FacId); } DBH.CreateDataTableAttendance(mytab, "SP_CONSOLIDATED_RATT", true, pa, pv); //myReportDocument.SetDatabaseLogon("software", "DelFirMENA$idea", "192.168.167.207", "MYFENCE"); myReportDocument.SetDatabaseLogon("software", "DelFirMENA$idea"); //myReportDocument.SetParameterValue("@Date", ToDate); //myReportDocument.SetParameterValue("@BatchID", 0); //myReportDocument.SetParameterValue("@TeacherID", 0); myReportDocument.SetDataSource(mytab); myReportDocument.SetDatabaseLogon("software", "DelFirMENA$idea"); SqlConnectionStringBuilder SqlConnectionStringBuilder = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["Myfence"].ToString()); string ServerName = SqlConnectionStringBuilder.DataSource; string DatabaseName = SqlConnectionStringBuilder.InitialCatalog; Boolean IntegratedSecurity = SqlConnectionStringBuilder.IntegratedSecurity; string UserID = SqlConnectionStringBuilder.UserID; string Password = SqlConnectionStringBuilder.Password; ConnectionInfo con = new ConnectionInfo(); con.ServerName = ServerName; con.DatabaseName = DatabaseName; if (IntegratedSecurity != true) { con.UserID = UserID; con.Password = Password; } CrystalReportViewer1.ReportSource = myReportDocument; Session["myReportDocument"] = myReportDocument; CrystalReportViewer1.DataBind(); } catch (Exception Ex) { } finally { // myReportDocument.Close(); // myReportDocument.Dispose(); } }
public void UpdateIP(Attendance.Entities.Entities entities) { try { SqlConnection con = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand("[USP_UpdateIP]", con); cmd.CommandType = CommandType.StoredProcedure; //cmd.CommandText = (); con.Open(); //cmd.Parameters.AddWithValue("@FirstName",entities.FirstName); cmd.Parameters.AddWithValue("@LocationName", entities.LocationName); // cmd.Parameters.AddWithValue("@PassCode", entities.passcode); // cmd.Parameters.AddWithValue("@EMPID", entities.EMPID); cmd.Parameters.AddWithValue("@IpAddress", entities.IpAddress); cmd.ExecuteNonQuery(); con.Close(); } catch (Exception ex) { throw ex; } }
/// <summary> /// Populates the roster. /// In cases where there won't be a postback, we can disable view state. The only time we need viewstate is when the Configuration Dialog /// is showing. /// </summary> private void PopulateRoster(ViewStateMode viewStateMode = ViewStateMode.Disabled) { RosterConfiguration rosterConfiguration = this.GetBlockUserPreference(UserPreferenceKey.RosterConfigurationJSON) .FromJsonOrNull <RosterConfiguration>() ?? new RosterConfiguration(); if (!rosterConfiguration.IsConfigured()) { return; } int[] scheduleIds = rosterConfiguration.ScheduleIds; int[] locationIds = rosterConfiguration.LocationIds; List <int> pickedGroupIds = rosterConfiguration.PickedGroupIds.ToList(); var allGroupIds = new List <int>(); allGroupIds.AddRange(pickedGroupIds); var rockContext = new RockContext(); // Only use teh ShowChildGroups option when there is 1 group selected if (rosterConfiguration.IncludeChildGroups && pickedGroupIds.Count == 1) { // if there is exactly one groupId we can avoid a 'Contains' (Contains has a small performance impact) var parentGroupId = pickedGroupIds[0]; var groupService = new GroupService(rockContext); // just the first level of child groups, not all decendants var childGroupIds = groupService.Queryable().Where(a => a.ParentGroupId == parentGroupId).Select(a => a.Id).ToList(); allGroupIds.AddRange(childGroupIds); } allGroupIds = allGroupIds.Distinct().ToList(); var attendanceOccurrenceService = new AttendanceOccurrenceService(rockContext); // An OccurrenceDate probably won't be included in the URL, but just in case DateTime?occurrenceDate = this.PageParameter(PageParameterKey.OccurrenceDate).AsDateTime(); if (!occurrenceDate.HasValue) { occurrenceDate = RockDateTime.Today; } // only show occurrences for the current day var attendanceOccurrenceQuery = attendanceOccurrenceService .Queryable() .Where(a => a.ScheduleId.HasValue && a.LocationId.HasValue && a.GroupId.HasValue) .WhereDeducedIsActive() .Where(a => allGroupIds.Contains(a.GroupId.Value) && a.OccurrenceDate == occurrenceDate && scheduleIds.Contains(a.ScheduleId.Value)); // if specific locations are specified, use those, otherwise just show all if (locationIds.Any()) { attendanceOccurrenceQuery = attendanceOccurrenceQuery.Where(a => locationIds.Contains(a.LocationId.Value)); } // limit attendees to ones that schedules (or are checked-in regardless of being scheduled) var confirmedAttendancesForOccurrenceQuery = attendanceOccurrenceQuery .SelectMany(a => a.Attendees) .Include(a => a.PersonAlias.Person) .Include(a => a.Occurrence.Group.Members) .WhereScheduledOrCheckedIn(); var confirmedScheduledIndividualsForOccurrenceId = confirmedAttendancesForOccurrenceQuery .AsNoTracking() .ToList() .GroupBy(a => a.OccurrenceId) .ToDictionary( k => k.Key, v => v.Select(a => new ScheduledIndividual { ScheduledAttendanceItemStatus = Attendance.GetScheduledAttendanceItemStatus(a.RSVP, a.ScheduledToAttend), Person = a.PersonAlias.Person, GroupMember = a.Occurrence.Group.Members.FirstOrDefault(gm => gm.PersonId == a.PersonAlias.PersonId), CurrentlyCheckedIn = a.DidAttend == true }) .ToList()); List <AttendanceOccurrence> attendanceOccurrenceList = attendanceOccurrenceQuery .Include(a => a.Schedule) .Include(a => a.Attendees) .Include(a => a.Group) .Include(a => a.Location) .AsNoTracking() .ToList() .OrderBy(a => a.OccurrenceDate) .ThenBy(a => a.Schedule.Order) .ThenBy(a => a.Schedule.GetNextStartDateTime(a.OccurrenceDate)) .ThenBy(a => a.Location.Name) .ToList(); var occurrenceRosterInfoList = new List <OccurrenceRosterInfo>(); foreach (var attendanceOccurrence in attendanceOccurrenceList) { var scheduleDate = attendanceOccurrence.Schedule.GetNextStartDateTime(attendanceOccurrence.OccurrenceDate); var scheduledIndividuals = confirmedScheduledIndividualsForOccurrenceId.GetValueOrNull(attendanceOccurrence.Id); if ((scheduleDate == null) || (scheduleDate.Value.Date != attendanceOccurrence.OccurrenceDate)) { // scheduleDate can be later than the OccurrenceDate (or null) if there are exclusions that cause the schedule // to not occur on the occurrence date. In this case, don't show the roster unless there are somehow individuals // scheduled for this occurrence. if (scheduledIndividuals == null || !scheduledIndividuals.Any()) { // no scheduleDate and no scheduled individuals, so continue on to the next attendanceOccurrence continue; } } var occurrenceRosterInfo = new OccurrenceRosterInfo { Group = attendanceOccurrence.Group, Location = attendanceOccurrence.Location, Schedule = attendanceOccurrence.Schedule, ScheduleDate = scheduleDate, ScheduledIndividuals = scheduledIndividuals }; occurrenceRosterInfoList.Add(occurrenceRosterInfo); } var mergeFields = LavaHelper.GetCommonMergeFields(this.RockPage); mergeFields.Add("OccurrenceList", occurrenceRosterInfoList); mergeFields.Add("DisplayRole", rosterConfiguration.DisplayRole); mergeFields.Add("OccurrenceDate", occurrenceDate); var rosterLavaTemplate = this.GetAttributeValue(AttributeKey.RosterLavaTemplate); var rosterHtml = rosterLavaTemplate.ResolveMergeFields(mergeFields); // by default, let's disable viewstate (except for when the configuration dialog is showing) lOccurrenceRosterHTML.ViewStateMode = viewStateMode; lOccurrenceRosterHTML.Text = rosterHtml; }
/// <summary> /// Handles the Click event of the lbSave control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> protected void lbSave_Click( object sender, EventArgs e ) { if ( _group != null && _occurrence != null ) { var rockContext = new RockContext(); var attendanceService = new AttendanceService( rockContext ); var personAliasService = new PersonAliasService( rockContext ); var locationService = new LocationService( rockContext ); bool dateAdjusted = false; DateTime startDate = _occurrence.Date; // If this is a manuall entered occurrence, check to see if date was changed if ( !_occurrence.ScheduleId.HasValue ) { DateTime? originalDate = PageParameter( "Date" ).AsDateTime(); if ( originalDate.HasValue && originalDate.Value.Date != startDate.Date ) { startDate = originalDate.Value.Date; dateAdjusted = true; } } DateTime endDate = startDate.AddDays( 1 ); var existingAttendees = attendanceService .Queryable( "PersonAlias" ) .Where( a => a.GroupId == _group.Id && a.LocationId == _occurrence.LocationId && a.ScheduleId == _occurrence.ScheduleId && a.StartDateTime >= startDate && a.StartDateTime < endDate ); if ( dateAdjusted ) { foreach ( var attendee in existingAttendees ) { attendee.StartDateTime = _occurrence.Date; } } // If did not meet was selected and this was a manually entered occurrence (not based on a schedule/location) // then just delete all the attendance records instead of tracking a 'did not meet' value if ( cbDidNotMeet.Checked && !_occurrence.ScheduleId.HasValue ) { foreach ( var attendance in existingAttendees ) { attendanceService.Delete( attendance ); } } else { int? campusId = locationService.GetCampusIdForLocation( _occurrence.LocationId ); if ( !campusId.HasValue ) { campusId = _group.CampusId; } if ( !campusId.HasValue && _allowCampusFilter ) { var campus = CampusCache.Read( bddlCampus.SelectedValueAsInt() ?? 0 ); if ( campus != null ) { campusId = campus.Id; } } if ( cbDidNotMeet.Checked ) { // If the occurrence is based on a schedule, set the did not meet flags foreach ( var attendance in existingAttendees ) { attendance.DidAttend = null; attendance.DidNotOccur = true; } } foreach ( var attendee in _attendees ) { var attendance = existingAttendees .Where( a => a.PersonAlias.PersonId == attendee.PersonId ) .FirstOrDefault(); if ( attendance == null ) { int? personAliasId = personAliasService.GetPrimaryAliasId( attendee.PersonId ); if ( personAliasId.HasValue ) { attendance = new Attendance(); attendance.GroupId = _group.Id; attendance.ScheduleId = _group.ScheduleId; attendance.PersonAliasId = personAliasId; attendance.StartDateTime = _occurrence.Date.Date.Add( _occurrence.StartTime ); attendance.LocationId = _occurrence.LocationId; attendance.CampusId = campusId; attendance.ScheduleId = _occurrence.ScheduleId; // check that the attendance record is valid cvAttendance.IsValid = attendance.IsValid; if ( !cvAttendance.IsValid ) { cvAttendance.ErrorMessage = attendance.ValidationResults.Select( a => a.ErrorMessage ).ToList().AsDelimited( "<br />" ); return; } attendanceService.Add( attendance ); } } if ( attendance != null ) { if ( cbDidNotMeet.Checked ) { attendance.DidAttend = null; attendance.DidNotOccur = true; } else { attendance.DidAttend = attendee.Attended; attendance.DidNotOccur = null; } } } } if ( _occurrence.LocationId.HasValue ) { Rock.CheckIn.KioskLocationAttendance.Flush( _occurrence.LocationId.Value ); } rockContext.SaveChanges(); WorkflowType workflowType = null; Guid? workflowTypeGuid = GetAttributeValue( "Workflow" ).AsGuidOrNull(); if ( workflowTypeGuid.HasValue ) { var workflowTypeService = new WorkflowTypeService( rockContext ); workflowType = workflowTypeService.Get( workflowTypeGuid.Value ); if ( workflowType != null ) { try { var workflow = Workflow.Activate( workflowType, _group.Name ); workflow.SetAttributeValue( "StartDateTime", _occurrence.Date.ToString( "o" ) ); workflow.SetAttributeValue( "Schedule", _group.Schedule.Guid.ToString() ); List<string> workflowErrors; new WorkflowService( rockContext ).Process( workflow, _group, out workflowErrors ); } catch ( Exception ex ) { ExceptionLogService.LogException( ex, this.Context ); } } } var qryParams = new Dictionary<string, string> { { "GroupId", _group.Id.ToString() } }; var groupTypeIds = PageParameter( "GroupTypeIds" ); if ( !string.IsNullOrWhiteSpace( groupTypeIds ) ) { qryParams.Add( "GroupTypeIds", groupTypeIds ); } NavigateToParentPage( qryParams ); } }
public void Insert(Attendance Attendances) { _context.DALContext.AttendancesDAL.Insert(Attendances); PrepareForEmail(Attendances); }