public override IDataTable GetDataTable(ObligatedRange p) { using (var db = new EngineContext()) { var dict = new Dictionary <string, string> { { "Id", "کد" }, { "Name", "نام" }, { "OffDay", "روز تعطیلی" }, }; var dt = db.ObligatedRanges.ToList(); var list = dt.Select(s => new { Id = s.Id, Name = s.Name, OffDay = EngineUtility.GetTranslate(s.OffDay) } ).Cast <dynamic>().ToList(); var dyna = new DynaDataTable { Headers = dict, RecordsList = list }; return(dyna); } }
public BiometryCalculatedDetail CalculateTotal(List <BiometryCalculatedDetail> taradodInfo) { var bioDetail = new BiometryCalculatedDetail(); foreach (var detail in taradodInfo) { bioDetail.Total += detail.Total; bioDetail.TotalValid += GetTotal(detail.Times, BiometryCalculatedDetailTimeType.Valid); bioDetail.TotalAbsence += GetTotal(detail.Times, BiometryCalculatedDetailTimeType.Absence); bioDetail.InValid += GetTotal(detail.Times, BiometryCalculatedDetailTimeType.NotValid); bioDetail.TotalOvertime += GetTotal(detail.Times, BiometryCalculatedDetailTimeType.Overtime); bioDetail.TotalStr = EngineUtility.ConvertTimeSpanToStr(bioDetail.Total); bioDetail.TotalValidStr = EngineUtility.ConvertTimeSpanToStr(bioDetail.TotalValid); bioDetail.TotalAbsenceStr = EngineUtility.ConvertTimeSpanToStr(bioDetail.TotalAbsence); bioDetail.InValidStr = EngineUtility.ConvertTimeSpanToStr(bioDetail.InValid); bioDetail.TotalOvertimeStr = EngineUtility.ConvertTimeSpanToStr(bioDetail.TotalOvertime); bioDetail.VacationStr = EngineUtility.ConvertTimeSpanToStr(bioDetail.Vacation); bioDetail.HolidayWorkStr = EngineUtility.ConvertTimeSpanToStr(bioDetail.HolidayWork); bioDetail.MissionWorkStr = EngineUtility.ConvertTimeSpanToStr(bioDetail.MissionWork); bioDetail.NightWorkStr = EngineUtility.ConvertTimeSpanToStr(bioDetail.NightWork); bioDetail.ShiftWorkStr = EngineUtility.ConvertTimeSpanToStr(bioDetail.ShiftWork); /*bioDetail.DateStr = * Engine.Controllers.AbstractControllers.Utility * .ConvertToShamsiDate(bioDetail.Date, false, true);*/ bioDetail.ShiftWorkStr = EngineUtility.ConvertTimeSpanToStr(bioDetail.ShiftWork); } return(bioDetail); }
bool HasAnyUnsupportKey(string key) { if (RawEngines.Any(s => s.Disabled || s.SupportUnicode)) { return(false); } return(EngineUtility.IsUnicodeKey(key)); }
public void TimeSpanToStrTest() { var time = new DateTime(2017, 05, 05, 2, 50, 58); // var c = new PersonnelTaradodInfoService(); var str = EngineUtility.ConvertTimeSpanToStr(time.TimeOfDay); Assert.True(str == "2:50:58"); }
public void ConvertToShamsiDateTest() { var time = new DateTime(1994, 09, 29, 2, 50, 58); // var c = new PersonnelTaradodInfoService(); var str = EngineUtility.ConvertToShamsiDate(time, false, false); Assert.True(str == "1373/07/07"); }
public EngineContext() : base(EngineUtility.ContextName()) { Database.SetInitializer(new MigrateDatabaseToLatestVersion <EngineContext, Configuration>()); // Database.SetInitializer(new DropCreateDatabaseIfModelChanges<EngineContext>()); //Database.Connection.ConnectionString = ConnectionProvider.GetEntityConnectionString(); // Database.Connection.ConnectionString = new ConnectionProviderFactory().Current.GetConnectionString(); }
/// <summary> /// 开始加载更多 /// </summary> void BeginLoadMore() { pWarning.Visible = HasAnyUnsupportKey(_currentKeyWord); if (pWarning.Visible) { return; } if (Engines.Any(s => !s.Provider.Disabled && s.IsBusy)) { if (!this.Question("当前正在搜索,需要取消当前搜索并重新搜索吗?", true)) { return; } Engines.Where(s => !s.Provider.Disabled).ForEach(s => { if (s.IsBusy) { s.Cancel(); } }); } lblSearchProgress.Text = "准备搜索..."; lblSearchProgress.ForeColor = Color.Green; //初始化各参数 _maxSearchPage = Engines.Where(s => !s.Provider.Disabled).Max(s => s.CurrentLoadedPage) + AppContext.Instance.Options.LoadPages; var isUnicodeKey = EngineUtility.IsUnicodeKey(_currentKeyWord); foreach (var engine in Engines) { if (engine.Provider.Disabled || (engine.CurrentLoadedPage > 0 && !engine.HasMore) || (!engine.Provider.SupportUnicode && isUnicodeKey)) { continue; } engine.SearchKey = _currentKeyWord; engine.CurrentLoadedPage++; engine.SearchedCount = 1; engine.ErrorCount = 0; if (engine.CurrentLoadedPage > _maxSearchPage) { continue; } Interlocked.Increment(ref _currentWorkingClients); _currentSearchedPage++; engine.DoSearch(); RefreshSearchStatus(); } RefreshSearchStatus(); if (_currentWorkingClients == 0) { ResourceOperation.MainForm.ShowFloatTip("没有更多可搜索的资源 :-("); } }
public string ParseDirective(string key) { if (!AppContext.Instance.Options.EnableSearchDirective) { return(key); } if (key.IsNullOrEmpty()) { return(""); } if (key.IsIgnoreCaseEqualTo(_key)) { return(_filteredKey); } _key = key; _excludeKey.Clear(); _strictKey.Clear(); _sizeDirective = null; _filteredKey = key.IsNullOrEmpty() ? "" : Regex.Replace(key, @"(?<=^|\s)([+\-><])([^\s]+)", _ => { var op = _.Groups[1].Value; if (op == "+") { _strictKey.SafeAdd(_.Groups[2].Value); return(_.Groups[2].Value); } if (op == "-") { _excludeKey.SafeAdd(_.Groups[2].Value); return(""); } if (op == ">" || op == "<") { var size = EngineUtility.ToSize(_.Groups[2].Value); if (size > 0L) { _greater = op == ">"; _sizeDirective = _.Value; _sizeFilter = size; return(""); } } return(_.Groups[2].Value); }); _filteredKey = Regex.Replace(_filteredKey, @"\s\s+", " "); return(_filteredKey); }
public MnemeBatch() { Id = Guid.NewGuid(); Name = "TestAcq"; ProjectName = ""; //Samples = new List<MnemeSampleJob>(); UserId = "user1"; Extension = ".eBatch"; EfConnectionString = string.Empty; AdoConnectionString = string.Empty; Path = EngineUtility.GetDataPath(); ExcelOutput = Path + "\\" + "FramePeaks.xlsx";// @"C:\ThermoFisher\Mneme\TestData\FramePeaks.xlsx"; }
public EjTable GetDataTable(string actionName) { EjTable ejtable = new EjTable(); ejtable.Name = actionName; ejtable.Translate = EngineUtility.GetDescription(this.GetType()); ejtable.TableMethods.Add(new TableMethod { EjTable = ejtable, DefineControllerMethod = new DefineControllerMethod { Name = actionName, MethodType = MethodType.GetDataTable, } }); GetTableUiItems(ejtable); return(ejtable); }
public ApplicationDbContext() : base(EngineUtility.AuthenticationContextName(), throwIfV1Schema: false) { // Database.Connection.ConnectionString = ConnectionProvider.GetEntityConnectionString(); // Database.Connection.ConnectionString = new ConnectionProviderFactory().Current.GetConnectionString(); }
public List <PersonnelClockStatusViewModel> GetAll(ObjectPostViewModel vm) { if (vm == null || vm.obj == null) { throw new Exception("اطلاعات ارسالی نال است"); } using (var db = new EngineContext()) { var workplacePersonnel = GetWorkplacePersonnelFromToken(db, vm.token); // پرسنل هایی که در آن گروه کاری هستند var dt = db.WorkplacePersonnels.Where(w => w.WorkplaceId == workplacePersonnel.WorkplaceId); //فقط خودش if (!workplacePersonnel.IsAdmin) { dt = dt.Where(d => d.PersonnelId == workplacePersonnel.PersonnelId); } var dates = dt.SelectMany(d => d.BiometricDatas .Where(day => day.Date.Year == DateTime.Now.Year && day.Date.Month == DateTime.Now.Month && day.Date.Day == DateTime.Now.Day)).OrderBy(d => d.Date); List <PersonnelClockStatusViewModel> list = new List <PersonnelClockStatusViewModel>(); foreach (var biometricData in dates) { if (vm.obj == null || vm.obj as long? == 0) { // قسمت داشبورد var time = biometricData.BiometricDataTimes.OrderBy(d => d.InsertDateTime).LastOrDefault(); list.Add(new PersonnelClockStatusViewModel { lastClockIn = time != null && time.TimeIn.HasValue ? EngineUtility.ConvertTimeSpanToStr(time.TimeIn.Value.TimeOfDay) : "-", lastClockOut = time != null && time.TimeOut.HasValue ? EngineUtility.ConvertTimeSpanToStr(time.TimeOut.Value.TimeOfDay) : "-", name = biometricData.WorkplacePersonnel.Personnel.Name + " " + biometricData.WorkplacePersonnel.Personnel.LastName, status = GetStatus(time), color = GetColor(time), personnelId = biometricData.WorkplacePersonnel.Personnel.Id }); } else { // قسمت جزئیات تردد پرسنل var ordered = biometricData.BiometricDataTimes.OrderBy(d => d.InsertDateTime); foreach (var time in ordered) { list.Add(new PersonnelClockStatusViewModel { lastClockIn = time != null && time.TimeIn.HasValue ? EngineUtility.ConvertTimeSpanToStr(time.TimeIn.Value.TimeOfDay) : "-", lastClockOut = time != null && time.TimeOut.HasValue ? EngineUtility.ConvertTimeSpanToStr(time.TimeOut.Value.TimeOfDay) : "-", name = biometricData.WorkplacePersonnel.Personnel.Name + " " + biometricData.WorkplacePersonnel.Personnel.LastName, status = GetStatus(time), color = GetColor(time), personnelId = biometricData.WorkplacePersonnel.Personnel.Id }); } } } return(list); } }
/// <summary> /// Compare two sub-items. /// </summary> /// <param name="subItemA">First sub-item to compare.</param><param name="subItemB">Second sub-item to compare.</param><param name="sortMethod">Item comparison method.</param><param name="order">Sort order.</param> /// <returns> /// Comparison result. /// </returns> protected override int CompareSubItems(BetterListViewSubItem subItemA, BetterListViewSubItem subItemB, BetterListViewSortMethod sortMethod, int order) { if (SuspendSort) { return(0); } var lx = subItemA.Item as ResourceListViewItem; var ly = subItemB.Item as ResourceListViewItem; if (lx.ParentItem != null && ly.ParentItem != null) { return(lx.Resource.CompareTo(ly.Resource)); } //do not compare subitems if (lx.ParentItem != null || ly.ParentItem != null) { return(0); } var sx = lx.Resource; var sy = ly.Resource; if (sx.MatchWeight != sy.MatchWeight) { return(sy.MatchWeight - sx.MatchWeight); } var opt = AppContext.Instance.Options; var weight = order; switch (opt.SortType) { case SortType.Default: return(0); //默认就是按照网站显示的顺序,不排序 case SortType.Title: return(string.Compare(sx.Title, sy.Title, StringComparison.OrdinalIgnoreCase) * weight); case SortType.PubDate: if (sx.UpdateTime == null && sy.UpdateTime == null) { return(0); } if (sx.UpdateTime == null ^ sy.UpdateTime == null) { return((sx.UpdateTime == null ? -1 : 1) * weight); } return((int)((sx.UpdateTime.Value - sy.UpdateTime.Value).TotalMinutes) * -1); //case BtResourceGrabber.Entities.SortType.TorrentSize: // break; case SortType.FileSize: var s1 = sx.DownloadSizeValue ?? EngineUtility.ToSize(sx.DownloadSize); var s2 = sy.DownloadSizeValue ?? EngineUtility.ToSize(sy.DownloadSize); return((s1 == s2 ? 0 : s1 < s2 ? -1 : 1) * weight); //case BtResourceGrabber.Entities.SortType.LeechCount: // break; //case BtResourceGrabber.Entities.SortType.SeederCount: // break; default: break; } return(0); }
public async Task <ClockInViewModelResult> ClockIn(ClockInViewModel vm) { try { using (var db = new EngineContext()) { string username = SecurityService.GetUsernameFromToken(vm.token); //یافتن پرسنل var workplacePersonnel = db.WorkplacePersonnels.FirstOrDefault(p => p.Username == username); if (workplacePersonnel == null) { throw new Exception("کاربر یافت نشد"); } // کلاک ورود // آیا قبلا وارد شده است var biometricDate = db.BiometricDatas.FirstOrDefault(b => b.WorkplacePersonnelId == workplacePersonnel.Id && b.Date.Year == DateTime.Now.Year && b.Date.Month == DateTime.Now.Month && b.Date.Day == DateTime.Now.Day ); if (biometricDate == null) { biometricDate = db.BiometricDatas.Create(); } var lastBiometricDateTime = biometricDate.BiometricDataTimes.OrderBy(d => d.InsertDateTime).LastOrDefault(); string clocktypestr = "وارد"; if (lastBiometricDateTime == null || (lastBiometricDateTime.TimeIn.HasValue && lastBiometricDateTime.TimeOut.HasValue)) { var clocktypes = workplacePersonnel.Workplace.UserClockTypes; // ولیدیشن نوع کلاک ها ValidateClocks(clocktypes, vm, workplacePersonnel, db); // هیچ کلاکی نزده است lastBiometricDateTime = db.BiometricDataTimes.Create(); lastBiometricDateTime.TimeIn = DateTime.Now; lastBiometricDateTime.ClockInViewModels.Add(vm); //ذخیره biometricDate.BiometricDataTimes.Add(lastBiometricDateTime); workplacePersonnel.BiometricDatas.Add(biometricDate); db.Entry(workplacePersonnel).State = EntityState.Modified; await db.SaveChangesAsync(); } else { // throw new Exception("شما قبلا ساعت ورود زده اید"); if (lastBiometricDateTime.TimeOut.HasValue) { throw new Exception("شما قبلا ساعت خروج زده اید"); } // هیچ کلاکی نزده است lastBiometricDateTime.TimeOut = DateTime.Now; //ذخیره db.Entry(lastBiometricDateTime).State = EntityState.Modified; clocktypestr = "خارج"; await db.SaveChangesAsync(); } var hour = EngineUtility.ConvertTimeSpanToStr(lastBiometricDateTime.TimeIn.Value.TimeOfDay); return(await Task.FromResult(new ClockInViewModelResult { success = true, message = $@" {clocktypestr } در {hour} " })); } } catch (Exception e) { return(await Task.FromResult(new ClockInViewModelResult { success = false, message = e.Message })); throw; } }