public List <OfficeLocationViewModel> GetAll(ObjectPostViewModel vm)
        {
            try
            {
                if (vm == null || vm.obj == null)
                {
                    throw new Exception("اطلاعات ارسالی نال است");
                }

                using (var db = new EngineContext())
                {
                    var workplacePersonnel = GetWorkplacePersonnelFromToken(db, vm.token);

                    List <MyLocation> locations = workplacePersonnel.Workplace.Locations;

                    List <OfficeLocationViewModel> list = new List <OfficeLocationViewModel>();
                    foreach (var myLocation in locations)
                    {
                        list.Add(new OfficeLocationViewModel
                        {
                            lat = myLocation.latitude,
                            lng = myLocation.longitude
                        });
                    }

                    return(list);
                }
            }
            catch (Exception e)
            {
                return(null);
            }
        }
        public void SavePersonImageTest()
        {
            var c = new SettingsController();


            var loginViewModel = new ObjectPostViewModel
            {
                token = "TdqvLaLw76Sky/m0KAC7Fjj4B9HVVBqDA1RoAhgoWyg=",
                obj   = new byte[5]
            };

            var res = c.SavePersonImage(loginViewModel);

            Assert.True(res.success);
        }
Esempio n. 3
0
        public VoidResultViewModel SavePersonImage(ObjectPostViewModel vm)
        {
            return(SaveSetting(vm, (workplaceSetting, WorkplacePersonnel
                                    , dbContext, @defaultWorkplace) =>
            {
                var image = vm.obj as byte[];
                if (image == null)
                {
                    throw new Exception("نوع فایل ارسالی اشتباه و نال است");
                }

                workplaceSetting.bitmapdata = image;
                SaveOrUpdateSetting(@defaultWorkplace, dbContext);
                return true;
            }));
        }
Esempio n. 4
0
        public VoidResultViewModel SaveSelectedWifi(ObjectPostViewModel vm)
        {
            return(SaveSetting(vm, (personWp, WorkplacePersonnel
                                    , dbContext, @defaultWorkplace) =>
            {
                var image = vm.obj as ScanResult;
                if (image == null)
                {
                    throw new Exception("نوع فایل ارسالی اشتباه و نال است");
                }


                @defaultWorkplace.scanResults.Add(image);
                SaveOrUpdateSetting(@defaultWorkplace, dbContext);
                return true;
            }));
        }
Esempio n. 5
0
        public VoidResultViewModel SaveNotificationsEnabled(ObjectPostViewModel vm)
        {
            return(SaveSetting(vm, (personWp, WorkplacePersonnel
                                    , dbContext, @defaultWorkplace) =>
            {
                var image = (vm.obj as bool?) ?? false;
                if (vm.obj as bool? == null)
                {
                    throw new Exception("نوع فایل ارسالی اشتباه و نال است");
                }


                WorkplacePersonnel.Workplace.IsNotificationsEnabled = image;
                SaveOrUpdateSetting(@defaultWorkplace, dbContext);
                return true;
            }));
        }
Esempio n. 6
0
        public List <UserClockTypeViewModel> GetUserClockTypeList(ObjectPostViewModel vm)
        {
            try
            {
                if (vm == null)
                {
                    throw new Exception("اطلاعات ارسالی نال است");
                }

                using (var db = new EngineContext())
                {
                    var workplacePersonnel = GetWorkplacePersonnelFromToken(db, vm.token);
                    return(workplacePersonnel.Workplace.UserClockTypes.ToList());
                }
            }
            catch (Exception e)
            {
                return(null);
            }
        }
Esempio n. 7
0
        public VoidResultViewModel SaveSetting
            (ObjectPostViewModel vm,
            Func <WorkplaceSetting, WorkplacePersonnel, EngineContext, WorkplaceSetting, bool> f
            )
        {
            try
            {
                if (vm == null || vm.obj == null)
                {
                    throw new Exception("اطلاعات ارسالی نال است");
                }


                using (var db = new EngineContext())
                {
                    var workplacePersonnel = GetWorkplacePersonnelFromToken(db, vm.token);

                    var @default = workplacePersonnel.WorkplaceSettings.LastOrDefault();
                    if (@default == null)
                    {
                        @default = db.WorkplaceSettings.Create();

                        workplacePersonnel.WorkplaceSettings.Add(@default);
                    }
                    else
                    {
                        db.Entry(@default).State = EntityState.Modified;
                    }

                    var @defaultWorkplace = workplacePersonnel.Workplace.WorkplaceSettings.LastOrDefault();
                    if (@defaultWorkplace == null)
                    {
                        @defaultWorkplace = db.WorkplaceSettings.Create();
                        workplacePersonnel.Workplace.WorkplaceSettings.Add(@defaultWorkplace);
                    }
                    else
                    {
                        db.Entry(@defaultWorkplace).State = EntityState.Modified;
                    }

                    //todo:modified;


                    f(@default, workplacePersonnel, db, @defaultWorkplace);


                    return(new VoidResultViewModel
                    {
                        success = true
                    });
                }
            }
            catch (Exception e)
            {
                return(new VoidResultViewModel
                {
                    message = e.Message,
                    success = false
                });
            }
        }
        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);
            }
        }