Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 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");
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
        /// <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("没有更多可搜索的资源 :-(");
            }
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
 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);
            }
        }
Exemplo n.º 13
0
        /// <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);
        }
Exemplo n.º 14
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;
            }
        }