public DtoDayStatus[] GetDayStatusList() { using (var db = new KadrDataContext()) { return(db.DayStatus.Select(s => DtoClassConstructor.DtoDayStatus(s)).ToArray()); } }
public DtoCategory[] GetCategoryes() { using (var db = new KadrDataContext()) { return(db.Category.Select(s => DtoClassConstructor.DtoCategory(s)).ToArray()); } }
public DtoWorkShedule[] GetWorkShedules() { using (var db = new KadrDataContext()) { return(db.WorkShedules.Select(s => DtoClassConstructor.DtoWorkShedule(s)).ToArray()); } }
public DtoTimeSheet GetTimeSheet(int idTimeSheet, bool isEmpty = false) { using (var db = new KadrDataContext()) //using (var dbloger = new DataContextLoger("GetTimeSheetLog.txt", FileMode.OpenOrCreate, db)) { return(DtoClassConstructor.DtoTimeSheet(db, idTimeSheet, isEmpty)); } }
public DtoEmployee[] GetDepartmentEmployees(int idDepartment) { using (var db = new KadrDataContext()) { return (db.FactStaffs.Where(w => w.PlanStaff.idDepartment == idDepartment && (w.DateEnd == null || w.DateEnd > DateTime.Today)).Select( s => DtoClassConstructor.DtoEmployee(s.Employee)).Distinct().ToArray()); } }
public DtoEmployee[] GetAllEmployees() { using (var db = new KadrDataContext()) { return (db.FactStaffs.Where(w => w.DateEnd == null || w.DateEnd > DateTime.Today).Select( s => DtoClassConstructor.DtoEmployee(s.Employee)).Distinct().ToArray()); } }
public DtoDepartment[] GetDepartmentsList() { using (var db = new KadrDataContext()) { return (db.Department.Where(w => w.dateExit == null | w.dateExit > DateTime.Now) .Select(s => DtoClassConstructor.DtoDepartment(db, s.id)) .ToArray()); } }
//========================= Дни исключения ================================================================== /// <summary> /// Возвращает список дней исключений /// </summary> /// <returns></returns> public DtoExceptionDay[] GetExeptionsDays() { using (var db = new KadrDataContext()) { return (db.Exception.OrderBy(o => o.DateException) .Select(s => DtoClassConstructor.DtoExceptionDay(s)) .ToArray()); } }
public DtoApprover GetDepartmentApprover(int idDepartment, int approveNumber, bool isAdmin = false) { using (var db = new KadrDataContext()) { return (db.Approver.Where( w => w.idDepartment == idDepartment & w.ApproverType.ApproveNumber == approveNumber & ((w.DateEnd == null) || (w.DateEnd >= DateTime.Now))). Select(s => DtoClassConstructor.DtoApprover(db, s.Employee.id, isAdmin)).FirstOrDefault()); } }
public DtoTimeSheet[] GetTimeSheetListForDepartments(int[] idDepartment, DateTime dateStart, int koll = 0, bool isEmpty = false) { using (var db = new KadrDataContext()) { return(koll <= 0 ? db.TimeSheet.Where(w => idDepartment.Contains(w.idDepartment) && w.DateBeginPeriod.Year == dateStart.Year && w.DateBeginPeriod.Month == dateStart.Month) .Select(s => DtoClassConstructor.DtoTimeSheet(db, s.id, isEmpty)).ToArray() : db.TimeSheet.Where(w => idDepartment.Contains(w.idDepartment) && w.DateBeginPeriod.Year == dateStart.Year && w.DateBeginPeriod.Month == dateStart.Month) .Select(s => DtoClassConstructor.DtoTimeSheet(db, s.id, isEmpty)).ToArray()); } }
public DtoTimeSheet[] GetTimeSheetList(int idDepartment, int koll = 0, bool isEmpty = false) { using (var db = new KadrDataContext()) //using (var dbloger = new DataContextLoger("GetTimeSheetListLog.txt", FileMode.OpenOrCreate, db)) { return(koll <= 0 ? db.TimeSheet.Where(w => w.idDepartment == idDepartment) .Select(s => DtoClassConstructor.DtoTimeSheet(db, s.id, isEmpty)).ToArray() : db.TimeSheet.Where(w => w.idDepartment == idDepartment) .OrderByDescending(o => o.DateBeginPeriod).Take(koll) .Select(s => DtoClassConstructor.DtoTimeSheet(db, s.id, isEmpty)).ToArray()); } }
public DtoApprover GetCurrentApproverByLogin(string employeeLogin, bool isAdmin = false) { employeeLogin = UserNameAdapter.Adapt(employeeLogin); if (string.IsNullOrWhiteSpace(employeeLogin)) { return(null); } using (var db = new KadrDataContext()) { var idEmployee = db.Employees.FirstOrDefault(w => w.EmployeeLogin.ToLower() == employeeLogin.ToLower()); return(idEmployee != null?DtoClassConstructor.DtoApprover(db, idEmployee.id, isAdmin) : DtoClassConstructor.DtoApproverIfNullAndAdmin(db, isAdmin)); } }
public DtoApprover GetNextApproverForTimeSheet(int idTimeSheet) { using (var db = new KadrDataContext()) { var timeSheet = db.TimeSheet.FirstOrDefault(f => f.id == idTimeSheet); var approverNum = GetTimeSheetApproveStep(idTimeSheet); if (timeSheet == null || approverNum >= 3) { return(null); } var idDepatrment = timeSheet.idDepartment; var approver = db.Approver.FirstOrDefault( f => f.idDepartment == idDepatrment && f.ApproverType.ApproveNumber == approverNum + 1 && f.DateEnd == null); return(approver != null?DtoClassConstructor.DtoApprover(db, approver.Employee.id) : null); } }
public TimeSheetsAndCount GetTimeSheetList(int idDepartment, TimeSheetFilter filter, int skip, int take) { using (var db = new KadrDataContext()) //using (var dbloger = new DataContextLoger("GetTimeSheetList.txt", FileMode.OpenOrCreate, db)) { var approveSteps = TimeSheetFilterAdapter(filter); var query = db.TimeSheetView.Where( w => w.idDepartment == idDepartment && approveSteps.Contains(w.ApproveStep) ); return(new TimeSheetsAndCount { Count = query.Count(), TimeSheets = query.OrderByDescending(o => o.DateBeginPeriod) .ThenByDescending(t => t.DateComposition) .Skip(skip) .Take(take) .Select(s => DtoClassConstructor.DtoTimeSheet(s)).ToArray() }); } }
public DtoFactStaffEmployee[] GetEmployeesForTimeSheet(int idDepartment, DtoApprover approver, DateTime dateStart, DateTime dateEnd) { using (var db = new KadrDataContext()) { //var depsId = GetDepartmentsIdList(idDepartment); var loadOptions = new DataLoadOptions(); loadOptions.LoadWith((FactStaffWithHistory fswh) => fswh.PlanStaff); loadOptions.LoadWith((PlanStaff ps) => ps.Post); loadOptions.LoadWith((Post p) => p.Category); loadOptions.LoadWith((PlanStaff ps) => ps.WorkShedule); loadOptions.LoadWith((FactStaffWithHistory fswh) => fswh.Employee); loadOptions.LoadWith((OK_Otpusk oko) => oko.OK_Otpuskvid); db.LoadOptions = loadOptions; var ts = new TimeSheetManaget(idDepartment, dateStart, dateEnd, approver.EmployeeLogin, db); return (ts.GetAllEmployees() .Select(s => DtoClassConstructor.DtoFactStaffEmployee(db, s.idFactStaffHistory)) .ToArray()); } }
public DtoTimeSheet CreateFakeTimeSheet(int idDepartment, DateTime dateStart, DtoApprover approver) { using (var db = new KadrDataContext()) { if (db.TimeSheet.Any(a => a.idDepartment == idDepartment && a.DateBeginPeriod == dateStart)) { throw new System.Exception("Табель на этот месяц уже сформирован."); } var dtoApproverDepartment = approver.DtoApproverDepartments.FirstOrDefault(w => w.IdDepartment == idDepartment); var ts = new TimeSheet { idDepartment = idDepartment, DateComposition = DateTime.Now, DateBeginPeriod = dateStart, DateEndPeriod = dateStart.AddMonths(1).AddDays(-1), ApproveStep = 0, IsFake = true, idCreater = dtoApproverDepartment.IdApprover }; db.TimeSheet.InsertOnSubmit(ts); db.SubmitChanges(); return(DtoClassConstructor.DtoTimeSheet(db.TimeSheetView.Single(s => s.id == ts.id))); } }
public DtoTimeSheet GetTimeSheet(int idTimeSheet, bool isEmpty = false) { using (var db = new KadrDataContext()) using (var dbloger = new DataContextLoger("GetTimeSheetLog.sql", FileMode.OpenOrCreate, db)) { var loadOptions = new DataLoadOptions(); loadOptions.LoadWith((TimeSheet ts) => ts.TimeSheetRecords); loadOptions.LoadWith((TimeSheet ts) => ts.Dep); loadOptions.LoadWith((Dep d) => d.Department); loadOptions.LoadWith((TimeSheetRecord tsr) => tsr.FactStaffHistory); loadOptions.LoadWith((FactStaffWithHistory f) => f.FactStaff); loadOptions.LoadWith((FactStaff f) => f.Employee); loadOptions.LoadWith((FactStaffWithHistory f) => f.FactStaff.PlanStaff); loadOptions.LoadWith((PlanStaff p) => p.Post); loadOptions.LoadWith((Post p) => p.Category); db.LoadOptions = loadOptions; //return DtoClassConstructor.DtoTimeSheet(db, idTimeSheet, isEmpty); return(db.TimeSheetView.Where(f => f.id == idTimeSheet).Select(s => DtoClassConstructor.DtoTimeSheet(s, isEmpty)).FirstOrDefault()); } }
DtoApproverDepartment GetDtoApprover(string employeeLogin) { var idEmployee = _db.Employees.Where(w => w.EmployeeLogin.ToLower() == employeeLogin.ToLower()).Select(s => s.id).FirstOrDefault(); return(DtoClassConstructor.DtoApprover(_db, idEmployee).DtoApproverDepartments.FirstOrDefault(w => w.IdDepartment == IdDepartment)); }