예제 #1
0
        public void ShowDate()
        {
            using (var db = new RfidContext())
            {
                List <M_Calendar> RangeDate = null;
                if (_calendarTypeSetting == CalendarType.Holideys)
                {
                    RangeDate = (from d in db.C_Calendar
                                 where (d.TypeDate == _calendarTypeSetting)
                                 select d).ToList();
                }
                else if (_selectedUser != null)
                {
                    RangeDate = (from d in db.C_Calendar
                                 where (d.P_Users.ID == _selectedId && d.TypeDate == _calendarTypeSetting)
                                 select d).ToList();
                }

                else
                {
                    MessageBox.Show((string)Application.Current.Resources["msb_selectUserOrHolidey"], "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    return;
                }
                GetAll(RangeDate, C_ShowDate);
            }
        }
        private void Button_FindUser(object sender, RoutedEventArgs e)
        {
            Singelton.EmailSetting.SmtpClient = TB_SmtpClient.Text;
            Singelton.EmailSetting.MailFrom   = TB_MailFrom.Text;
            Singelton.EmailSetting.Password   = StringCipher.Encrypt(TB_Password.Password, "f6v?jkfk+8#62&D=w7UW8pkfRLdxzEaKE=LH6N?q");

            Singelton.EmailSetting.Subject = TB_Subject.Text;
            Singelton.EmailSetting.Body    = TB_Body.Text;
            using (var db = new RfidContext())
            {
                var remove = db.C_EmailSetting.FirstOrDefault();
                db.C_EmailSetting.Remove(remove);

                db.SaveChanges();


                db.C_Setting.SingleOrDefault().ExportInBdSetting();
                db.SaveChanges();
            }

            if (Singelton.Frame.CanGoBack)
            {
                Singelton.Frame.GoBack();
            }
        }
        private void Button_FindUser(object sender, RoutedEventArgs e)
        {
            using (var rfid = new RfidContext())
            {
                var find = new UserFinderHelper()
                {
                    FirstName          = TB_User_FirstName.Text,
                    SecondName         = TB_User_SecondName.Text,
                    ThirdName          = TB_User_ThirdName.Text,
                    PhoneNumber        = TB_User_PhoneNumber.Text,
                    DepartmentName     = TB_User_DepartmentName.Text,
                    DepartmentDirector = TB_User_DepartmentDirector.Text,
                    Address            = TB_User_Address.Text,
                    Context            = rfid
                };

                if (!find.TryFind())
                {
                    NotFoundMessage.Visibility = Visibility.Visible;
                    return;
                }

                var p = new FindResultPage(find);
                Singelton.Frame.Navigate(p);
            }
        }
예제 #4
0
        private void SelectFile_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (FileList.SelectedItem == null)
                {
                    MessageBox.Show((string)Application.Current.Resources["msb_fileNotSekected"], "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                if (TB_Email.Text == string.Empty)
                {
                    MessageBox.Show((string)Application.Current.Resources["msb_emailNotEntered"], "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                RfidContext db = new RfidContext();

                string path = Singelton.ExcelSetting.Path + System.IO.Path.DirectorySeparatorChar + FileList.SelectedItem.ToString();

                Singelton.EmailSetting.PathAttachmentFile = path;

                SendEmailHalper.SendEmailTo(TB_Email.Text);

                SVGenerationExcel.Visibility = Visibility.Visible;
                AllExcelFiles.Visibility     = Visibility.Collapsed;
            }
            catch (FormatException)
            {
                MessageBox.Show((string)Application.Current.Resources["msb_emailUnknownError"], "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
 public void Ticker_Tick(object sender, EventArgs e)
 {
     _context = new RfidContext();
     foreach (var user in _context.C_Users)
     {
         if (user.isInside)
         {
             if (user.P_UserTime.Count != 0)
             {
                 user.P_UserTime.Last().TimeOut = DateTime.Now;
                 TimeSpan?lengthOfInside        = user.P_UserTime.Last().TimeOut - user.P_UserTime.Last().TimeIn;
                 if (lengthOfInside > Singelton.WatcherSetting.MaxTimeInside)
                 {
                     lengthOfInside = Singelton.WatcherSetting.MaxTimeInside;
                     user.P_UserTime.Last().TimeOut = user.P_UserTime.Last().TimeIn + MaxTimeInside;
                     DateTime?dtInsige = DateTime.Today.Add(lengthOfInside.Value);
                     user.P_UserTime.Last().LengthOfInside = dtInsige;
                     user.isInside = false;
                     _context.SaveChanges();
                 }
                 else
                 {
                 }
             }
         }
     }
     _context.Dispose();
 }
        public ReportPage()
        {
            InitializeComponent();
            var db = new RfidContext();

            GridBasicInformation.EnableColumnVirtualization = true;
            GridBasicInformation.Items.Clear();
            GridBasicInformation.CanUserAddRows = false;
            GridBasicInformation.ItemsSource    = db.
                                                  Database.
                                                  SqlQuery <BasicInformation>((new SqlBasicInformation()).SQl_BasicInformation).
                                                  ToList();
            GridBasicInformation.EnableColumnVirtualization = true;
            GridBasicInformation.Items.Refresh();
            var queryAllDepartamentsNames = from cust in db.C_Departments
                                            where cust.ID != 1
                                            select new { cust.Name };
            var listDepInfo = new List <DepartamentsData>();

            foreach (var depName in queryAllDepartamentsNames.ToList())
            {
                var temp = getDepartamentClientData(depName.Name);
                listDepInfo.Add(temp);
            }

            GridMonthlyReport.ItemsSource     = new List <TimeTableItem>();
            GridDepartamentReport.ItemsSource = listDepInfo;
            GridDepartamentReport.Items.Refresh();
            SelectedDepartamentReport_MouseLeftButtonUp(null, null);
            SelectedMonthlyReport_MouseLeftButtonUp(null, null);
            SelectedBasicInformation_MouseLeftButtonUp(null, null);
        }
예제 #7
0
        private string WeekMonthYearInside(DateTime dateFrom, DateTime dateTo)
        {
            RfidContext db = new RfidContext();

            try
            {
                var queryAllDepartaments = from cust in db.C_UserTime
                                           where cust.P_Users.ID == Id && cust.SingleDate > dateFrom && cust.SingleDate < dateTo
                                           select new { cust.SingleDate, cust.LengthOfInside, cust.LengthOfOutside };

                queryAllDepartaments.ToList();

                var queryAllTime = from cust in db.C_Users
                                   where cust.P_Users.ID == Id
                                   select new { cust.P_InOutValidTimes.Start, cust.P_InOutValidTimes.And, cust.P_InOutValidTimes.Valid };

                queryAllTime.Single();


                // тут закынчив минулого разу
                double sumDate = 0;

                foreach (var temp in queryAllDepartaments)
                {
                    sumDate += temp.LengthOfInside.Value.TimeOfDay.TotalMinutes;
                }
                return(sumDate.ToString());
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.ToString());
                return("Exception");
            }
        }
예제 #8
0
        private void GenerationExcelButton_Click(object sender, RoutedEventArgs e)
        {
            RfidContext db = new RfidContext();
            string      path;

            if (string.IsNullOrEmpty(Singelton.ExcelSetting.Path))
            {
                MessageBox.Show(Application.Current.Resources["msb_floderNotSelected"].ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            else
            {
                path = Singelton.ExcelSetting.Path + System.IO.Path.DirectorySeparatorChar +
                       DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + ".xlsx";
            }
            List <TimeTableItem> TimeTable = null;
            List <UserTableItem> UserTable = UserTableItem.GenerateList(_gridBasicInformation);

            if (_gridBasicInformation.SelectedIndex != -1)
            {
                TimeTable = TimeTableItem.GenerateList(_gridMonthlyReport);
            }
            List <DepartmentTableItem> DepartmentTable = DepartmentTableItem.GenerateList(_gridDepartamentReport);



            CreateExcelFileHelper.CreateExcelDocument(UserTable, TimeTable, DepartmentTable, path);
        }
        void run(int Id)
        {
            RfidContext db = new RfidContext();

            M_Users user = new M_Users();

            user = db.C_Users.Where(z => z.ID == Id).Single();

            List <M_Rfids> prfids = new List <M_Rfids>();

            prfids = user.P_Rfids.ToList();
            var rfideCode = prfids.Where(x => x.IsArhive == false).Single();

            RFIDCodeTags.Content = rfideCode.RfidID.ToString();

            var queryAllCustomers = from cust in db.C_Rfids
                                    where cust.IsArhive == true && cust.P_Users.ID == Id
                                    select new { cust.Date, cust.RfidID, cust.Comment };

            List <M_Rfids> queryAllCustomers1    = db.C_Rfids.Where(x => x.IsArhive == true && x.P_Users.ID == Id).ToList();
            var            ListQueryAllCustomers = queryAllCustomers.ToList();

            LAadded.Content = user.P_Rfids.ToList()[0].Date.ToShortDateString();

            GridRegistryChangesRFIDtags.ItemsSource = queryAllCustomers.ToList();
            dynamic sdsdd  = GridRegistryChangesRFIDtags.Items.CurrentItem;
            dynamic sdsdd1 = GridRegistryChangesRFIDtags.Items;

            if (GridRegistryChangesRFIDtags.Columns.Count > 0)
            {
                this.GridRegistryChangesRFIDtags.Columns[0].ClipboardContentBinding.StringFormat = "dd.MM.yyyy";
            }
            GridRegistryChangesRFIDtags.Items.Refresh();
        }
        private string WeekMonthYearOutside(DateTime dateFrom, DateTime dateTo)
        {
            RfidContext db = new RfidContext();

            try
            {
                var queryAllDepartaments = from cust in db.C_UserTime
                                           where cust.P_Users.ID == Id && cust.SingleDate > dateFrom && cust.SingleDate < dateTo
                                           select new { cust.SingleDate, cust.LengthOfInside, cust.LengthOfOutside };

                queryAllDepartaments.ToList();



                double sumDate = 0;

                foreach (var temp in queryAllDepartaments)
                {
                    if (temp.LengthOfOutside != null)
                    {
                        sumDate += temp.LengthOfOutside.Value.TimeOfDay.TotalMinutes;
                    }
                }
                return(sumDate.ToString());
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.ToString());
                return("Exception");
            }
        }
 public AboutUserPage(int id)
 {
     InitializeComponent();
     _db         = new RfidContext();
     _id         = id;
     CurrentUser = new M_Users();
     CurrentUser = _db.C_Users.Single(z => z.ID == id);
     IsInside    = CurrentUser.isInside;
     _aboutHelper.Run(id, _db, CurrentUser, AboutUserGrid);
 }
        public void Initialize(DataGrid gridBasicInformation, UserFinderHelper find)
        {
            Func <ICollection <M_Phones>, string> genListPhones = cust =>
            {
                var str = string.Empty;
                foreach (var phone in cust)
                {
                    str += phone.PhoneNumber + ", ";
                }
                if (str != string.Empty)
                {
                    str = str.Substring(0, str.Length - 2);
                }
                return(str);
            };

            using (var context = new RfidContext())
            {
                find.Context = context;
                var searchResult = (from cust in find.Find()
                                    select new
                {
                    cust.ID,
                    cust.P_Names.FirstOrDefault().NameFirst,
                    cust.P_Names.FirstOrDefault().NameLast,
                    cust.P_Names.FirstOrDefault().NameThird,
                    cust.P_Departments.Name,
                    cust.P_InOutValidTimes.Start,
                    cust.P_InOutValidTimes.End,
                    cust.P_InOutValidTimes.Valid,
                    cust.P_InOutValidTimes.Dinner,
                    cust.P_Phones
                }).ToList();
                GenereteColumns(gridBasicInformation);

                foreach (var item in searchResult)
                {
                    var tableItem = new TableItem
                    {
                        Id          = item.ID,
                        FirstName   = item.NameFirst,
                        LastName    = item.NameLast,
                        ThirdName   = item.NameThird,
                        Departament = item.Name,
                        Start       = item.Start,
                        End         = item.End,
                        Dinner      = (DateTime)item.Dinner,
                        Valid       = item.Valid,
                        Phone       = genListPhones(item.P_Phones)
                    };

                    gridBasicInformation.Items.Add(tableItem);
                }
            }
        }
        private void ClickUlinkRFID(object sender, RoutedEventArgs e)
        {
            RfidContext db = new RfidContext();

            var temp = db.C_Rfids.Where(z => z.P_Users.ID == ID).Where(x => x.IsArhive == false);

            db.C_Rfids.Where(z => z.P_Users.ID == ID).Where(x => x.IsArhive == false).Single().IsArhive = true;
            db.C_Rfids.Where(z => z.P_Users.ID == ID).Where(x => x.IsArhive == false).Single().Comment  = "louse";

            RFIDCodeTags.Content = "";
            db.SaveChanges();
        }
        public void Snap(int id, string rfidNum)
        {
            try
            {
                var     db   = new RfidContext();
                var     temp = db.C_Rfids.Where(z => z.P_Users.ID == id).Where(x => x.IsArhive == false);
                M_Users user;

                if (temp.Count() != 0)
                {
                    foreach (var rfid in db.C_Rfids.Where(z => z.P_Users.ID == id).Where(x => x.IsArhive == false))
                    {
                        rfid.IsArhive = true;
                    }

                    var addRfid = new M_Rfids
                    {
                        RfidID   = Convert.ToInt64(rfidNum),
                        IsArhive = false,
                        Date     = DateTime.Now
                    };
                    user            = db.C_Users.Single(z => z.ID == id);
                    addRfid.P_Users = user;
                    user.P_Rfids.Add(addRfid);
                }
                else
                {
                    foreach (var rfid in db.C_Rfids.Where(z => z.P_Users.ID == id).Where(x => x.IsArhive == false))
                    {
                        rfid.IsArhive = true;
                    }

                    var addRfid = new M_Rfids
                    {
                        RfidID   = Convert.ToInt64(rfidNum),
                        IsArhive = false,
                        Date     = DateTime.Now
                    };
                    user            = db.C_Users.Single(z => z.ID == id);
                    addRfid.P_Users = user;
                    user.P_Rfids.Add(addRfid);
                }

                db.Entry(user).State = EntityState.Modified;
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void SnapRFIDTag(object sender, RoutedEventArgs e)
        {
            try
            {
                RfidContext db   = new RfidContext();
                var         temp = db.C_Rfids.Where(z => z.P_Users.ID == ID).Where(x => x.IsArhive == false);

                WindowSnapRFID snapRfid = new WindowSnapRFID();

                snapRfid.ShowDialog();


                if (temp.Count() != 0)
                {
                    foreach (var rfid in db.C_Rfids.Where(z => z.P_Users.ID == ID).Where(x => x.IsArhive == false))
                    {
                        rfid.IsArhive = true;
                    }

                    M_Rfids addRfid = new M_Rfids();
                    addRfid.RfidID   = Convert.ToInt64(snapRfid.TSnapRFID.Text);
                    addRfid.IsArhive = false;

                    db.C_Users.Where(z => z.ID == ID).Single().P_Rfids.Add(addRfid);
                }
                else
                {
                    foreach (var rfid in db.C_Rfids.Where(z => z.P_Users.ID == ID).Where(x => x.IsArhive == false))
                    {
                        rfid.IsArhive = true;
                    }

                    M_Rfids addRfid = new M_Rfids();
                    addRfid.RfidID   = Convert.ToInt64(snapRfid.TSnapRFID.Text);
                    addRfid.IsArhive = false;
                    addRfid.Date     = DateTime.Now;

                    db.C_Users.Where(z => z.ID == ID).Single().P_Rfids.Add(addRfid);
                }


                RFIDCodeTags.Content = snapRfid.TSnapRFID.Text;

                db.SaveChanges();
            }
            catch
            {
                // throw;
            }
        }
예제 #16
0
        private void GridBasicInformation_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            dynamic s = GridBasicInformation.CurrentCell.Item;

            SelectedId = s.ID;

            RfidContext db = new RfidContext();

            var queryAllCustomers = from cust in db.C_UserTime
                                    where cust.P_Users.ID == SelectedId
                                    select new
            {
                cust.ID,
                cust.SingleDate,
                cust.Day,
                cust.TimeIn,
                cust.TimeOut,
                cust.LengthOfInside,
                cust.LengthOfOutside
            };

            GridMonthlyReport.ItemsSource = queryAllCustomers.ToList();

            //this.GridBasicInformation.Columns[5].ClipboardContentBinding.StringFormat = "HH:mm";
            //this.GridBasicInformation.Columns[6].ClipboardContentBinding.StringFormat = "HH:mm";
            //this.GridBasicInformation.Columns[7].ClipboardContentBinding.StringFormat = "HH:mm";

            this.GridMonthlyReport.Columns[3].ClipboardContentBinding.StringFormat = "HH:mm";
            this.GridMonthlyReport.Columns[4].ClipboardContentBinding.StringFormat = "HH:mm";
            this.GridMonthlyReport.Columns[5].ClipboardContentBinding.StringFormat = "HH:mm";
            this.GridMonthlyReport.Columns[6].ClipboardContentBinding.StringFormat = "HH:mm";

            GridMonthlyReport.Items.Refresh();

            var applicationPath = Directory.GetCurrentDirectory();

            // get your 'Uploaded' folder
            var dir = new DirectoryInfo(System.IO.Path.Combine(applicationPath, "Photos"));


            var queryPhoto = from cust in db.C_Users
                             where cust.ID == SelectedId
                             select new { cust.Photo };

            var z = queryPhoto.ToList();

            string str = dir.FullName + "/" + z[0].Photo;

            imageReport.Source = new BitmapImage(new Uri(str));
        }
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     Singelton.WatcherSetting.MaxTimeInside = (TimeSpan)LimitPicker.SelectedTime;
     Singelton.WatcherSetting.Interval      = (TimeSpan)IntervalPicker.SelectedTime;
     using (var db = new RfidContext())
     {
         db.C_Setting.SingleOrDefault().ExportInBdSetting();
         db.SaveChanges();
     }
     if (Singelton.Frame.CanGoBack)
     {
         Singelton.Frame.GoBack();
     }
 }
        private void SaveButton_Click(object sender, RoutedEventArgs e)
        {
            Singelton.LanguageSetting.SelectedLanguage = CB_ChangeLanguage.SelectedIndex;

            using (var db = new RfidContext())
            {
                db.C_Setting.SingleOrDefault().ExportInBdSetting();
                db.SaveChanges();
            }
            if (Singelton.Frame.CanGoBack)
            {
                Singelton.Frame.GoBack();
            }
        }
예제 #19
0
        public FP()
        {
            InitializeComponent();

            RfidContext db = new RfidContext();

            var queryAllCustomers = from cust in db.C_Names
                                    where cust.P_Users.IsUser == true
                                    select new
            {
                cust.P_Users.ID,
                cust.NameFirst,
                cust.NameLast,
                cust.NameThird,
                cust.P_Users.P_Departments.Name,
                cust.P_Users.P_InOutValidTimes.Start,
                cust.P_Users.P_InOutValidTimes.And,
                cust.P_Users.P_InOutValidTimes.Valid
            };

            GridBasicInformation.EnableColumnVirtualization = true;
            GridBasicInformation.ItemsSource = queryAllCustomers.ToList();
            GridBasicInformation.EnableColumnVirtualization = true;
            GridBasicInformation.Items.Refresh();
            var a = GridBasicInformation.CommandBindings;
            //this.GridMonthlyReport.Columns[3].ClipboardContentBinding.StringFormat = "HH:mm";

            var queryAllDepartamentsNames = from cust in db.C_Departments
                                            select new { cust.Name }
            ;

            List <DepartamentsData> listDepInfo = new List <DepartamentsData>();

            foreach (var depName in queryAllDepartamentsNames.ToList())
            {
                DepartamentsData temp = getDepartamentClientData(depName.Name);
                listDepInfo.Add(temp);
            }

            GridDepartamentReport.ItemsSource = listDepInfo;


            this.GridDepartamentReport.Items.Refresh();


            var d = GridDepartamentReport.Columns;

            //GridDepartamentReport.Columns[0].ClipboardContentBinding.StringFormat = "dd.MM.yyyy";
        }
        private void buttonGetData_Click(object sender, RoutedEventArgs e)
        {
            var db = new RfidContext();

            try
            {
                _dateHelper.GetData(CalendarFrom, CalendarTo, _id, db, labelSelectedTimeInside, labelSelectedTimeOutside);
            }
            catch (Exception)
            {
                MessageBox.Show((string)Application.Current.Resources[StringsMapper.ErrorNoDateSel],
                                (string)Application.Current.Resources[StringsMapper.ErrorHeader],
                                MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
예제 #21
0
        private void run(int Id)
        {
            var db   = new RfidContext();
            var user = new M_Users();

            user = db.C_Users.Single(z => z.ID == Id);
            var prfids = new List <M_Rfids>();

            prfids = user.P_Rfids.ToList();
            var rfideCode = prfids.LastOrDefault(x => x.IsArhive == false);

            if (prfids.LastOrDefault(x => x.IsArhive == false) != null)
            {
                RFIDCodeTags.Text = rfideCode.RfidID.ToString();
            }
            else
            {
                RFIDCodeTags.Text = "";
            }

            var queryAllCustomers = from cust in db.C_Rfids
                                    where cust.IsArhive && cust.P_Users.ID == Id
                                    select new { cust.Date, cust.RfidID, cust.Comment };

            LAadded.Text = user.P_Rfids.ToList()[0].Date.ToShortDateString();

            if (queryAllCustomers.Any())
            {
                GridRegistryChangesRFIDtags.ItemsSource = queryAllCustomers.ToList();
            }

            if (GridRegistryChangesRFIDtags.Columns.Count > 0)
            {
                GridRegistryChangesRFIDtags.Columns[0].ClipboardContentBinding.StringFormat = "dd.MM.yyyy";
            }

            GridRegistryChangesRFIDtags.Items.Refresh();

            if (GridRegistryChangesRFIDtags.Columns.Count != 0)
            {
                GridRegistryChangesRFIDtags.Columns[0].Header =
                    Singelton.LanguageSetting.GetString(StringsMapper.AddingDate);
                GridRegistryChangesRFIDtags.Columns[1].Header =
                    Singelton.LanguageSetting.GetString(StringsMapper.RfidNum);
                GridRegistryChangesRFIDtags.Columns[2].Header =
                    Singelton.LanguageSetting.GetString(StringsMapper.Comment);
            }
        }
        private DepartamentsData getDepartamentClientData(string name)
        {
            var db = new RfidContext();

            var queryAllDepartaments = from cust in db.C_Names
                                       where cust.P_Users.P_Departments.Name.Equals(name)
                                       select new { cust.P_Users.IsUser, cust.P_Users.isInside };
            var t1 = queryAllDepartaments.Count();
            var t2 = queryAllDepartaments.Count(x => x.isInside);
            var t3 = queryAllDepartaments.Count(x => x.isInside == false);

            var date = DateTime.Now;

            var departParam = new DepartamentsData(date.ToString("dd.MM.yyyy"), name, t1, t2, t3);

            return(departParam);
        }
예제 #23
0
        private void Btn_AddInterval_Click(object sender, RoutedEventArgs e)
        {
            if (DP_StarDate.SelectedDate > DP_EndDate.SelectedDate)
            {
                MessageBox.Show((string)Application.Current.Resources["msb_startIsBeggerEnd"], "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            var date = new M_Calendar();

            try
            {
                date.Start    = (DateTime)DP_StarDate.SelectedDate;
                date.End      = (DateTime)DP_EndDate.SelectedDate;
                date.TypeDate = _calendarTypeSetting;
            }
            catch (FormatException)
            {
                MessageBox.Show((string)Application.Current.Resources["msb_slectDate"], "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
            using (var db = new RfidContext())
            {
                if (_selectedId != null)
                {
                    var user = from d in db.C_Users
                               where d.ID == _selectedId
                               select d;

                    user.Single().P_Calendar.Add(date);;
                    db.SaveChanges();
                }

                else if (_calendarTypeSetting == CalendarType.Holideys)
                {
                    db.C_Calendar.Add(date);
                    db.SaveChanges();
                    return;
                }
                else
                {
                    MessageBox.Show((string)Application.Current.Resources["msb_startIsBeggerEnd"]);
                    return;
                }
                ShowDate();
            }
        }
예제 #24
0
        public void GetData(Calendar calendarFrom, Calendar calendarTo, int?id, RfidContext db, Label timeInsideLb,
                            Label timeOutsideLb)
        {
            var dateFrom = calendarFrom.SelectedDate.Value;
            var dateTo   = calendarTo.SelectedDate.Value;

            IQueryable <dynamic> queryAllDepartaments;

            if (id == null)
            {
                queryAllDepartaments = from cust in db.C_UserTime
                                       where cust.SingleDate >= dateFrom && cust.SingleDate <= dateTo
                                       select new { cust.SingleDate, cust.LengthOfInside, cust.LengthOfOutside };
            }
            else
            {
                queryAllDepartaments = from cust in db.C_UserTime
                                       where cust.P_Users.ID == id && cust.SingleDate >= dateFrom && cust.SingleDate <= dateTo
                                       select new { cust.SingleDate, cust.LengthOfInside, cust.LengthOfOutside };
            }

            var sumDateInside  = DateTime.MinValue;
            var sumDateOutside = DateTime.MinValue;

            foreach (var temp in queryAllDepartaments)
            {
                if (temp.LengthOfInside != null)
                {
                    sumDateInside = sumDateInside.Add(((DateTime?)temp.LengthOfInside).Value.TimeOfDay);
                }

                if (temp.LengthOfOutside != null)
                {
                    sumDateOutside = sumDateOutside.Add(((DateTime?)temp.LengthOfOutside).Value.TimeOfDay);
                }
            }

            var timeInside  = new TimeSpan(sumDateInside.Ticks);
            var timeOutside = new TimeSpan(sumDateOutside.Ticks);

            timeInsideLb.Content = Application.Current.Resources[StringsMapper.TimePeriod] +
                                   $" {Math.Truncate(timeInside.TotalHours):####}h {timeInside.Minutes}m";
            timeOutsideLb.Content = Application.Current.Resources[StringsMapper.TimePeriod] +
                                    $" {Math.Truncate(timeOutside.TotalHours):####}h {timeOutside.Minutes}m";
        }
        private void buttonGetData_Click(object sender, RoutedEventArgs e)
        {
            RfidContext db = new RfidContext();

            try
            {
                DateTime dateFrom = CalendarFrom.SelectedDate.Value;
                DateTime dateTo   = CalendarTo.SelectedDate.Value;



                var queryAllDepartaments = from cust in db.C_UserTime
                                           where cust.P_Users.ID == Id && cust.SingleDate > dateFrom && cust.SingleDate < dateTo
                                           select new { cust.SingleDate, cust.LengthOfInside, cust.LengthOfOutside };

                queryAllDepartaments.ToList();



                double sumDateInside  = 0;
                double sumDateOutside = 0;

                foreach (var temp in queryAllDepartaments)
                {
                    if (temp.LengthOfInside != null)
                    {
                        sumDateInside += temp.LengthOfInside.Value.TimeOfDay.TotalMinutes;
                    }

                    if (temp.LengthOfOutside != null)
                    {
                        sumDateOutside += temp.LengthOfOutside.Value.TimeOfDay.TotalMinutes;
                    }
                }
                labelSelectedTimeInside.Content  = "Time by selected date : " + sumDateInside.ToString();
                labelSelectedTimeOutside.Content = "Time by selected date : " + sumDateOutside.ToString();
            }
            catch
            {
                MessageBox.Show(" Please select date ");
            }
        }
 private void SaveButton_Click(object sender, RoutedEventArgs e)
 {
     if (PathToExcelFile != string.Empty)
     {
         Singelton.ExcelSetting.Path = PathToExcelFile;
         using (var db = new RfidContext())
         {
             db.C_Setting.SingleOrDefault().ExportInBdSetting();
             db.SaveChanges();
         }
         if (Singelton.Frame.CanGoBack)
         {
             Singelton.Frame.GoBack();
         }
     }
     else
     {
         MessageBox.Show((string)Application.Current.Resources["msb_floderNotSelected"], "Error", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
예제 #27
0
        private void ClickUlinkRFID(object sender, RoutedEventArgs e)
        {
            var db       = new RfidContext();
            var usedRfid = db.C_Rfids.Where(z => z.P_Users.ID == ID).SingleOrDefault(x => x.IsArhive == false);

            if (usedRfid != null)
            {
                usedRfid.IsArhive = true;
                usedRfid.Comment  = Application.Current.Resources[StringsMapper.Lost].ToString();
                db.SaveChanges();
            }
            else
            {
                MessageBox.Show(Application.Current.Resources[StringsMapper.AllRfidArchive].ToString(),
                                Application.Current.Resources[StringsMapper.ErrorHeader].ToString(), MessageBoxButton.OK,
                                MessageBoxImage.Error);
            }

            RFIDCodeTags.Text = "";
        }
예제 #28
0
        public string WeekMonthYearInside(DateTime dateFrom, DateTime dateTo, int?id)
        {
            var db = new RfidContext();

            try
            {
                IQueryable <dynamic> queryAllDepartaments;
                if (id == null)
                {
                    queryAllDepartaments = from cust in db.C_UserTime
                                           where cust.SingleDate >= dateFrom && cust.SingleDate < dateTo
                                           select new { cust.SingleDate, cust.LengthOfInside, cust.LengthOfOutside };
                }
                else
                {
                    queryAllDepartaments = from cust in db.C_UserTime
                                           where cust.P_Users.ID == id && cust.SingleDate >= dateFrom && cust.SingleDate < dateTo
                                           select new { cust.SingleDate, cust.LengthOfInside, cust.LengthOfOutside };
                }

                var sumDate = DateTime.MinValue;

                foreach (var temp in queryAllDepartaments)
                {
                    if (temp.LengthOfInside != null)
                    {
                        sumDate = sumDate.Add(((DateTime?)temp.LengthOfInside).Value.TimeOfDay);
                    }
                }
                var timeRes = new TimeSpan(sumDate.Ticks);
                return($" {Math.Truncate(timeRes.TotalHours):####}h {timeRes.Minutes}m");
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.ToString());
            }

            return(string.Empty);
        }
        public M_Users GetUserInfo(int selectedId, TextBlock nameUser, ImageBrush imageReport)
        {
            var db           = new RfidContext();
            var selectedUser = (from d in db.C_Users
                                where d.ID == selectedId
                                select d).Single();
            var dir = new DirectoryInfo(Singelton.PathToPhoto);

            var queryPhoto = from cust in db.C_Users
                             where cust.ID == selectedId
                             select new { cust.Photo };

            var names = db.Database.SqlQuery <M_Names>(new SqlGetUserName()
                                                       .SQl_GetUserFirstName, selectedId).SingleOrDefault();
            var firstName = names.NameFirst;
            var lastName  = names.NameLast;
            var z         = queryPhoto.ToList();

            nameUser.Text = firstName + " " + lastName;
            var str = dir.FullName + Path.AltDirectorySeparatorChar + z[0].Photo;

            try
            {
                var nameImage = z[0].Photo;
                var words     = nameImage.Split('_');
                var indexdot  = words[2].IndexOf('.');
                nameUser.Text           = words[1] + " " + words[2].Remove(indexdot);
                imageReport.ImageSource = ImageLoaderHelper.GetImageFromFolder(str);
            }
            catch (Exception ex)
            {
                MessageBox.Show((string)Application.Current.Resources[StringsMapper.ErrorUserPhoto] + ex);
            }

            db.Dispose();
            return(selectedUser);
        }
        private void BOK_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                RfidNumber = TBGetRfidId.Text;
                var db   = new RfidContext();
                var s    = Convert.ToInt64(RfidNumber);
                var user =
                    db.Database.SqlQuery <M_Users>(new SqlSearchUserForRfid().SQl_SearchUserForRfid, s).SingleOrDefault();
                var dsd = db.C_Users.Single(z => z.ID == user.ID);
                AuthorithationUser = dsd;
                _rfidHelper.WriteById(dsd);
                db.SaveChanges();
                var p = new AboutUserPage(AuthorithationUser.ID);

                Singelton.Frame.NavigationService.Navigate(p);
            }
            catch
            {
                MessageBox.Show((string)Application.Current.Resources[StringsMapper.ErrorEnterRfid],
                                (string)Application.Current.Resources[StringsMapper.ErrorHeader], MessageBoxButton.OK,
                                MessageBoxImage.Exclamation);
            }
        }