public static bool EmialManager(string managerEmail, IList <StaffModel> staff) { const MessagesEnum messageType = MessagesEnum.WeeklyLeaveClockEmail; var message = new DataContextEF().Messages .FirstOrDefault(m => m.MessageType.Equals((int)messageType)); //if (message == null) // throw new Exception("Weekly message type not found"); var mailer = new Emailer { subject = "Pending Clock Records" }; #region #if DEBUG mailer.TOList.Add("*****@*****.**"); #else mailer.TOList.Add(managerEmail); #endif #endregion mailer.body = BuildClockData(staff); if (!string.IsNullOrEmpty(mailer.body)) { mailer.SendEmail(); } return(true); }
public void Test_EF_CreatingStaffWorkingHours() { var ctx = new DataContextEF(); foreach (var staff in ctx.Staff.ToList()) { if ((staff.StaffHoursData == null) || (staff.StaffHoursData.Count == 0)) { for (int i = 0; i < 7; i++) { staff.StaffHoursData.Add( new StaffHoursModel { DayId = i + 1, DayTimeStart = Convert.ToDateTime("08:00:00"), DayLunchLength = 1, DayTimeEnd = Convert.ToDateTime("17:00:00"), RecordStatus = "Active", StaffId = staff.StaffId } ); } } } ctx.SaveChanges(); }
public object PeOfficeClockIn(string remoteClockData) { using (var dtx = new DataContextEF()) { StaffClockModel remoteClock = dtx.StaffClockData.First(x => x.Staff.StaffClockCardNumber.Equals(remoteClockData.Split('-').Last())); if (remoteClock != null) { remoteClock.DataStatus = 0; remoteClock.ClockDateTime = DateTime.Now; remoteClock.RecordStatus = "Active"; remoteClock.StaffId = GetStaffIdByCardNumber(remoteClock.StaffId); remoteClock.Comments = remoteClock.Comments + ("PE office clock in"); dtx.StaffClockData.Add(remoteClock); dtx.SaveChanges(); object obj = new { Name = remoteClock.Staff.StaffFullName, Time = DateTime.Now.TimeOfDay, CardNumber = remoteClock.Staff.StaffClockCardNumber }; return(Request.CreateResponse(HttpStatusCode.OK, obj)); } return(Request.CreateResponse(HttpStatusCode.ExpectationFailed)); } }
public void Test_EF_ReadingStaffFullname() { var ctx = new DataContextEF(); foreach (var staffModel in ctx.Staff.ToList()) { Debug.WriteLine(staffModel.StaffFullName); } }
public void Test_EF_ProcessClockingData() { using (var ctx = new DataContextEF()) { var isHoliday = ctx.IsHolidayToday(); UoWStaff.ProcessClocking(); ctx.SaveChanges(); } }
public static List <StaffModel> CDRLookupNumber(string numberDialed) { using (var store = new DataContextEF()) { if (!String.IsNullOrEmpty(numberDialed)) { //todo ref Quentin - names? var aList = new List <StaffPhoneRecord>(); var sList = store.Staff; aList = GetCDRData(DateTime.Now.AddDays(-7), DateTime.Now); aList = aList.FindAll(data => data.dst == numberDialed); aList = aList.OrderByDescending(x => x.DisplayCallDate).ToList(); foreach (var staff in sList) { staff.StaffCallRecords = aList.FindAll(data => data.Extension == staff.StaffTellExt); } return(sList.Where(x => x.StaffCallRecords.Count > 0).ToList()); #region LINQ join //var result = (from staff in sList // join callrec in aList on staff.StaffTelExt equals callrec.Extension into staffcallrec // select staff, staff.StaffCallRecords = staffcallrec).ToList(); //return (from s in sList // from c in aList // join a in aList on s.StaffTelExt equals a.Extension // into callList // select new // { // s, // StaffCallRecords = callList.ToList<StaffPhoneRecord>() // }); //return (from client in ClientList ( = List<Client>) // join address in AddressList ( = List<Address>) // on client.ClientID equals address.ClientID // -- into callList // -- select new // -- { // -- s, // -- StaffCallRecords = callList.ToList<StaffPhoneRecord>() // -- }); // should return ( List<Client>) with Addresses populated // //return result; #endregion } } return(null); }
private Guid GetStaffIdByEmail(string staffEmail) { using (var dataContext = new DataContextEF()) { var staffId = from staffmember in dataContext.Staff where staffmember.StaffEmail.Equals(staffEmail) select staffmember.StaffId; return(staffId.FirstOrDefault()); } }
private Guid GetStaffIdByCardNumber(Guid staffid) { using (var dataContext = new DataContextEF()) { var staffId = from staffmember in dataContext.Staff where staffmember.StaffId.Equals(staffid) select staffmember.StaffId; return(staffId.FirstOrDefault()); } }
protected MessagesModel GetLeaveMessage(MessagesEnum messageType) { var message = (int)messageType; var leavemsg = new DataContextEF().Messages.FirstOrDefault(m => m.MessageType.Equals(message)); if (leavemsg == null) { throw new Exception("Leave approved message not found"); } return(leavemsg); }
public void Test_EF_ReadingStaffClockingData() { var ctx = new DataContextEF(); foreach (var staff in ctx.Staff.ToList()) { foreach (var staffClockModel in staff.StaffClockData) { // Debug.WriteLine("--"); Debug.WriteLine(staffClockModel.Staff.StaffFullName); } } }
public void Test_EF_ReadingStaffRandomOtherStaffData() { IQueryable <StaffModel> test; var ctx = new DataContextEF(); foreach (var staff in ctx.Staff.Include("StaffClockData").ToList()) { foreach (var staffClockModel in staff.StaffClockData.Where(x => x.DataStatus.Equals(2))) { Debug.WriteLine("--"); Debug.WriteLine(staffClockModel.ClockDateTime); } } }
public static List <BranchModel> CDRData(DateTime dateFrom, DateTime dateTo, Guid?CompanyID, Guid?DivisionID, Guid?StaffID, String Carrier) { using (var store = new DataContextEF()) { var dataList = GetCDRData(dateFrom, dateTo); var branches = store.Branches.Include("BranchDivisions").Include("BranchDivisions.DivisionStaff").Where(b => b.RecordStatus == "Active").ToList(); if ((!String.IsNullOrEmpty(Carrier)) && (!Carrier.Equals("--All--"))) { dataList = dataList.Where(x => x.Carrier.Contains(Carrier)).ToList(); } #region Filter Branches if ((CompanyID != null) && (CompanyID != Guid.Empty)) { branches = branches.FindAll(data => data.BranchId == CompanyID); } #endregion foreach (var branch in branches) { #region Filter Divisions branch.BranchDivisions = branch.BranchDivisions.Where(b => b.RecordStatus.Equals("Active")).ToList(); if ((DivisionID != null) && (DivisionID != Guid.Empty)) { branch.BranchDivisions = branch.BranchDivisions.ToList().FindAll(m => m.DivisionId.Equals(DivisionID)); } #endregion foreach (var div in branch.BranchDivisions.ToList()) { #region Filter Staff div.DivisionStaff = div.DivisionStaff.ToList(); if ((StaffID != null) && (StaffID != Guid.Empty)) { div.DivisionStaff = div.DivisionStaff.Where(data => data.StaffId == StaffID).ToList(); } #endregion foreach (var staff in div.DivisionStaff.ToList()) { staff.StaffCallRecords = dataList.FindAll(m => m.Extension.Equals(staff.StaffTellExt)); staff.StaffCallRecords = staff.StaffCallRecords.ToList().FindAll(m => m.calldate.Date > staff.StaffJoinDate.Date); } //div.DivisionStaff = div.DivisionStaff.Where(s => s.TotalCallCost > 0).ToList(); } //branch.BranchDivisions = branch.BranchDivisions.Where(p => p.TotalCallCost > 0).ToList(); } return(branches.ToList()); } }
protected IEnumerable <StaffModel> GetStaffManagers() { var managers = new DataContextEF().Staff.Where( m => m.StaffId.Equals(LeaveModel.StaffMember.StaffManager1Id) || m.StaffId.Equals(LeaveModel.StaffMember.StaffManager2Id)); if (!managers.Any()) { throw new Exception("staff memmber has no managers"); } return(managers.ToList()); }
public void Test_EF_Create_Staff() { var ctx = new DataContextEF(); var staff = new StaffModel { StaffId = Guid.NewGuid(), StaffName = "Quentin", StaffSurname = "Barnard", StaffIdNumber = "780418", RecordStatus = "Active", StaffDivision = ctx.BranchDivisions.FirstOrDefault() }; ctx.Staff.Add(staff); ctx.SaveChanges(); }
public void Test_EF_GetStaffSuggestions() { using (var ctx = new DataContextEF()) { var staffList = ctx.Staff.ToList(); foreach (var item in staffList) { Debug.WriteLine(item.StaffFullName); Debug.WriteLine(item.Suggestions.Count()); foreach (var suggestionModel in item.Suggestions) { Debug.WriteLine(suggestionModel.SuggestionSubject); } } } }
public static ICollection <StaffClockModel> MergeClockData(Guid staffId) { using (var store = new DataContextEF()) { ICollection <StaffHoursModel> hoursModel = store.StaffHourData.Where(m => m.StaffId.Equals(staffId)).ToList(); IQueryable <StaffClockModel> clockModel = store.StaffClockData.Where(m => m.StaffId.Equals(staffId)); IQueryable <StaffLeaveModel> leaveModel = store.StaffLeaveData.Where(m => m.StaffId.Equals(staffId)); if (!clockModel.Any() || !hoursModel.Any() || !leaveModel.Any()) { throw new Exception(string.Format("Staff member with id {0} not found.", staffId)); } return(MergeClockDataForGraphs(clockModel, hoursModel, leaveModel)); } }
protected sealed override void SetmailingList() { ToEmailList.Add(LeaveModel.StaffMember.StaffEmail); var managers = new DataContextEF().Staff.Where( m => m.StaffId.Equals(LeaveModel.StaffMember.StaffManager1Id) || m.StaffId.Equals(LeaveModel.StaffMember.StaffManager2Id)); if (!managers.Any()) { throw new Exception("staff memmber has no managers"); } //set to email list managers.ToList().ForEach(m => CcEmailList.Add(m.StaffEmail)); }
public static string UpdatePhoneStatus(string phoneStatus, string mac) { using (var dtx = new DataContextEF()) { var staffPhone = dtx.PhoneDetails.Include("StaffMember").FirstOrDefault(x => x.RecordStatus.Equals("Active") && x.StaffPhoneMac.Equals(mac)); if (staffPhone != null) { staffPhone.StaffMember.StaffPhoneStatus = phoneStatus; //staffPhone.StaffMember.PhoneDataStatus = Convert.ToInt32(phoneStatus); } dtx.SaveChanges(); if (staffPhone != null && staffPhone.StaffMember != null) { return("Hello " + staffPhone.StaffMember.StaffFullName + "....... You called me from the phone"); } } return("Hello Anonymous"); }
public bool RemoteClockIn(StaffClockModel remoteClock) { remoteClock.RecordStatus = "Active"; remoteClock.StaffId = GetStaffIdByEmail(remoteClock.Email); remoteClock.Comments = remoteClock.Comments + (". This clock in is of an appointment the staff member was in"); try { using (DataContextEF dataContext = new DataContextEF()) { dataContext.StaffClockData.Add(remoteClock); dataContext.SaveChanges(); } return(true); } catch (Exception e) { return(false); } }
//this is to make sure all related printer properties are loaded private static List <PrinterPropertyModel> RebuildProperties(List <TonerOrderDetailsModel> orders) { using (var store = new DataContextEF()) { var tempList = new List <PrinterPropertyModel>(); var recStatus = RecordStatusEnum.Active.ToString(); orders.ForEach((p) => { var data = store.PrinterProperties.Where( m => m.RecordStatus.Equals(recStatus) && m.PropertyId.Equals(p.PropertyId)); if (data.Any()) { tempList.Add(data.FirstOrDefault()); } }); return(tempList.ToList()); } }
public void Test_EF_LeaveData() { using (var ctx = new DataContextEF()) { var staffList = ctx.Staff.ToList(); foreach (var staff in staffList) { Debug.WriteLine(staff.StaffFullName); Debug.WriteLine(staff.StaffIsOnLeave.ToString()); Debug.WriteLine(staff.StaffLeaveData.Count); if (staff.StaffLeaveData.Count > 0) { foreach (var staffLeaveModel in staff.StaffLeaveData) { //Debug.WriteLine(staffLeaveModel.ApprovedBy1.StaffFullName); //Debug.WriteLine(staffLeaveModel.ApprovedBy2.StaffFullName); } } Debug.WriteLine(""); } } }
public static bool ClearOldTonerOrders() { using (var contextEf = new DataContextEF()) { var openTonerOrders = contextEf.TonerOrderDetails.Where(x => x.OrderStatus == (int)OrderStatus.Opened).ToList(); if (!openTonerOrders.Any()) { return(false); } else if (openTonerOrders.Any()) { for (int i = 0; i < openTonerOrders.Count; i++) { TonerOrderDetailsModel order = openTonerOrders[i]; var data = contextEf.TonerOrders.FirstOrDefault(x => x.OrderId.Equals(order.OrderId)); if (data != null) { TonerOrdersModel ordersModel = data; openTonerOrders[i].TonerOrder = ordersModel; } if (order.TonerOrder.OrderDate.Date.AddDays(2) > order.TonerOrder.OrderDate.Date) { } } var mailer = new Emailer(); mailer.subject = MessageList.Open_Toner_Orders_Subject; mailer.body = MessageList.Open_Toner_Orders_Body; mailer.TOList.Add(WebConfigurationManager.AppSettings["SupportEmail"]); mailer.SendEmail(); contextEf.SaveChanges(); return(true); } } return(false); }
public static IEnumerable <StaffLeaveModel> GetSimultaniousLeaveApps(StaffModel staffMember, DateTime leaveStart, DateTime leaveEnd) { var staff = new DataContextEF() .Staff .Include("StaffLeaveData") .Where(m => m.DivisionId.Equals(staffMember.DivisionId) && m.RecordStatus.Equals("Active") && (!m.StaffId.Equals(staffMember.StaffId))); if (!staff.Any()) { return(null); } var leaveApps = new List <StaffLeaveModel>(); staff.ToList().ForEach((m) => m.StaffLeaveData.Where( x => ((x.LeaveDateStart >= leaveStart.Date && x.LeaveDateStart.Date <= leaveStart) || (x.LeaveDateStart.Date >= leaveEnd.Date && x.LeaveDateEnd.Date <= leaveEnd.Date)) && (x.RecordStatus.Equals("Active")) && ((x.LeaveStatus.Equals((int)LeaveStatus.Approved)) || x.LeaveStatus.Equals((int)LeaveStatus.Pending))) .ToList().ForEach(leaveApps.Add)); return(leaveApps); }
public static string GetPhoneSettings(string phoneMacAddress) { if (string.IsNullOrEmpty(phoneMacAddress)) { return(string.Empty); } using (var store = new DataContextEF()) { //Get a user's phone details var phoneDet = store.PhoneDetails .Include("StaffMember") .Include("StaffMember.StaffContactData") .FirstOrDefault( m => m.RecordStatus.Equals("Active") && m.StaffPhoneMac.Equals(phoneMacAddress)); if (phoneDet == null) { throw new Exception("Staff phone details not found"); } phoneDet.StaffMember.StaffContactData = phoneDet.StaffMember.StaffContactData.Where(x => x.RecordStatus.Equals("Active")).ToList(); var phoneSettings = new PhoneSettings(phoneDet); store.Staff.Where(m => m.StaffId != phoneDet.StaffMember.StaffId && m.RecordStatus.Equals("Active")).OrderBy(x => x.StaffName) .ToList().ForEach((m) => phoneSettings.Directory.PhoneList.Add(new PhoneEntry { ContactId = m.StaffId, UserName = string.Empty, FirstName = m.StaffName, LastName = m.StaffSurname, Number = m.StaffTellExt, NumberType = "sip", })); var count = 1; var sortedData = phoneSettings.Directory.PhoneList.OrderBy(x => x.LastName).ThenBy(x => x.FirstName); foreach (PhoneEntry phoneEntry in sortedData) { phoneEntry.Index = count; count++; } phoneSettings.Directory.PhoneList = new List <PhoneEntry>(phoneSettings.Directory.PhoneList.OrderBy(x => x.LastName).ThenBy(x => x.FirstName)); return(phoneSettings.ToString()); #region /*var workContactsToStaffContactsModel = new List<StaffContactModel>(); * * workContacts.ForEach((m) => workContactsToStaffContactsModel.Add(new StaffContactModel * { * ContactDescription = m.StaffName, * ContactId = m.StaffId, * ContactName = m.StaffName, * ContactNumber = m.StaffTellExt, * ContactSurname = m.StaffSurname, * StaffId = m.StaffId, * StaffMember = m * })); * * * // workContactsToStaffContactsModel.AddRange(personalContacts); * * // var phoneSettings = new PhoneSettings(phoneDet); * * store.Staff.Where(m => m.StaffId != phoneDet.StaffMember.StaffId && m.RecordStatus.Equals("Active")).OrderBy(x => x.StaffName) * .ToList() * .ForEach((m) => phoneSettings.Directory.PhoneList.Add(new PhoneEntry * { * ContactId = m.StaffId, * UserName = string.Empty, * * FirstName = m.StaffName, * LastName = m.StaffSurname, * Number = m.StaffTellExt, * NumberType = "sip", * Index = phoneSettings.Directory.PhoneList.Count + 1 * })); * * return phoneSettings.ToString();*/ #endregion } }
/// <summary> /// Fills the message with values /// </summary> protected sealed override MessagesModel Fill() { var leaveMsg = GetLeaveMessage(MessageType); leaveMsg.Greeting = leaveMsg.Greeting.Replace(Receiver, "Manager (s)"); TimeSpan leaveSpan = (LeaveModel.LeaveDateEnd - LeaveModel.LeaveDateStart); var leaveDays = 0; var leaveHours = 0; var leaveMinutes = 0; leaveDays = leaveSpan.Days; leaveHours = leaveSpan.Hours; leaveMinutes = leaveSpan.Minutes; if (leaveSpan.Hours >= 8) { leaveDays++; leaveHours = 0; } //get require hours using (var contextEf = new DataContextEF()) { var staffHours = contextEf.StaffHourData.Where(x => x.StaffId.Equals(LeaveModel.StaffId)).ToList(); #region //double requiredMinutes = 0; //double requiredHours = 0; //for (int i = 0; i < staffHours.Count; i++) //{ // if (staffHours[i].DayId == (int)DateTime.Now.DayOfWeek) // { // requiredHours = (staffHours[i].DayTimeEnd.TimeOfDay - staffHours[i].DayTimeStart.TimeOfDay).Hours; // requiredMinutes = (staffHours[i].DayTimeEnd.TimeOfDay - staffHours[i].DayTimeStart.TimeOfDay).Minutes; // break; // } //} //if (leaveHours == requiredHours) //{ // leaveHours = 0; // if (leaveDays == 0) // { // leaveDays = leaveDays + 1; // } // else if (leaveDays > 0) // { // leaveDays++; // } //} #endregion leaveMsg.Body = leaveMsg.Body .Replace(Applicant, LeaveModel.StaffMember.StaffFullName) .Replace(Leavetype, EnumHelper.GetEnumDescriptions((LeaveType)LeaveModel.LeaveType)) .Replace(FromDate, LeaveModel.LeaveDateStart.ToLongDateString() + " " + LeaveModel.LeaveDateStart.TimeOfDay /*.Add(addToHours)*/) .Replace(ToDate, LeaveModel.LeaveDateEnd.ToLongDateString() + " " + LeaveModel.LeaveDateEnd.TimeOfDay /*.Add(addToHours)*/) .Replace(RequestDate, LeaveModel.LeaveRequestDate.ToShortDateString()) .Replace(Days, leaveDays + " Day(s), " + leaveHours + " Hour(s), " + leaveMinutes + " Minute(s) ") .Replace(Comments, LeaveModel.LeaveComments) .Replace(RedirectLink, "http://intranet/#/view_theleave/" + LeaveModel.LeaveId) .Replace(OtherDetails, StaffModels.Any() ? BuildOtherDetails() : string.Empty); return(leaveMsg); } }