private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            Microsoft.Win32.OpenFileDialog od = new Microsoft.Win32.OpenFileDialog();
            od.Filter = "Image Files|*.jpg;*.png";
            if (od.ShowDialog() == true)
            {
                System.IO.FileInfo fi = new System.IO.FileInfo(od.FileName);
                if (fi.Length / 1024 / 1024 > 1)
                {
                    MyMessageBox.Show("حجم الصورة يجب أن يكون أقل من 1 ميغا");
                    return;
                }
                Properties.Settings.Default.AssociationLogoPath = fi.FullName;
                Properties.Settings.Default.Save();

                BitmapImage bi = new BitmapImage();
                bi.BeginInit();
                bi.UriSource = new Uri(fi.FullName, UriKind.RelativeOrAbsolute);
                bi.EndInit();

                img.Source = bi;
                MyMessage.CustomMessage("تم الحفظ بنجاح");
            }
        }
        internal bool IsValidate()
        {
            bool isValid = true;

            this.ClearAllErrors();
            if (!NOB.HasValue)
            {
                isValid = false;
                this.SetError("NOB", "يجب إدخال الحد الاعلى للمستفيدين");
            }
            if (string.IsNullOrEmpty(SponsorshipType))
            {
                isValid = false;
                this.SetError("SponsorshipType", "يجب إدخال نوع الكفالة");
            }
            if (SponsorType == "كفالة خاصة" && !Duration.HasValue)
            {
                isValid = false;
                this.SetError("Duration", "يجب إدخال مدة الكفالة");
            }
            if (!OverMonths.HasValue)
            {
                isValid = false;
                this.SetError("OverMonths", "يجب إدخال عدد الاشهر الممكن تجاوزها");
            }
            if (!isValid)
            {
                string s = "";
                foreach (var item in errors)
                {
                    s += item.Value + "\n";
                }
                MyMessageBox.Show(s);
            }
            return(isValid);
        }
Beispiel #3
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            var i = this.DataContext as Invoice;

            if (cmboAccounts.SelectedItem == null)
            {
                MyMessageBox.Show("يجب اختيار الحساب");
                return;
            }
            i.Transitions[0].RightAccount = new Account()
            {
                Id = (int)cmboAccounts.SelectedValue
            };
            i.Description = i.Transitions[0].Details;
            if (i.IsValidate())
            {
                if (Invoice.InsertData(i) && Transition.InsertData(i.Transitions[0]))
                {
                    PrintTicket.printInvoiceA6(i, 1);
                    MyMessage.InsertMessage();
                    DialogResult = true;
                }
            }
        }
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            var x = this.DataContext as House;

            if (x.HouseID != null)
            {
                if (!BaseDataBase.CurrentUser.CanDelete)
                {
                    MyMessageBox.Show("لا يوجد لديك صلاحيات للحذف");
                }
                else if (MyMessageBox.Show("هل تريد تأكيد حذف البيانات", MessageBoxButton.YesNo) == MessageBoxResult.Yes && DBMain.DeleteData(x))
                {
                    MyMessage.DeleteMessage();
                    if (FamilyID != null)
                    {
                        FamilyID = FamilyID;
                    }
                    else
                    {
                        OrphanID = OrphanID;
                    }
                }
            }
        }
 private void btnDeleteFamilyData_Click(object sender, RoutedEventArgs e)
 {
     if (dgFamily.SelectedIndex != -1)
     {
         if (!BaseDataBase.CurrentUser.PointAdmin)
         {
             MyMessageBox.Show("ليس لديك صلاحيات للحذف");
         }
         else
         {
             Family f = Family.GetFamilyByID((int)(dgFamily.Items[dgFamily.SelectedIndex] as DataRowView)[0]);
             if (MyMessageBox.Show("هل تريد تأكيد حذف بيانات العائلة", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
             {
                 if (DBMain.DeleteData(f))
                 {
                     dt = BaseDataBase._TablingStoredProcedure("sp_GetFamilyAllTable");
                     SetItemsSource(1);
                     Control_Changed(null, null);
                     MyMessage.DeleteMessage();
                 }
             }
         }
     }
 }
        private void btnExport_Click(object sender, RoutedEventArgs e)
        {
            if (!BaseDataBase.CurrentUser.CanExport)
            {
                MyMessageBox.Show("ليس لديك صلاحية تصدير");
                return;
            }
            var control = tcMain.SelectedItem as TabItem;
            var DGMain  = (control.Content as FrameworkElement).FindName("dgMain") as DataGrid;

            if (DGMain.Items.Count > 0)
            {
                if (BaseDataBase.CurrentUser.IsAdmin)
                {
                    var dt = (DGMain.ItemsSource as DataView).Table;
                    ExportToExcel.ExportDataTableToExcel x = new ExportToExcel.ExportDataTableToExcel(dt);
                    x.GenerateReport();
                }
                else
                {
                    MyMessageBox.Show("لا يوجد لديك صلاحيات للتصدير");
                }
            }
        }
 private void UpdateSupport_Click(object sender, RoutedEventArgs e)
 {
     if (lvOrders.SelectedIndex != -1)
     {
         if (!CanPresent())
         {
             MyMessageBox.Show("لا يمكن التسليم حاليا لهذا القطاع");
             return;
         }
         if (!(BaseDataBase.CurrentUser.CanUpdateSupport || BaseDataBase.CurrentUser.PointAdmin))
         {
             MyMessageBox.Show("ليس لديك صلاحية لتعديل اعانة");
         }
         else
         {
             Order o = lvOrders.SelectedItem as Order;
             if (o.Date.Value.ToShortDateString() != BaseDataBase.DateNow.ToShortDateString())
             {
                 MyMessageBox.Show("لايمكن تعديل التسليمات الا في يوم التسليم فقط");
                 return;
             }
             FamilyOrderControl w = new FamilyOrderControl(o);
             if (w.ShowDialog() == true)
             {
                 if (FamilyID != null)
                 {
                     FamilyID = FamilyID;
                 }
                 else
                 {
                     OrphanID = OrphanID;
                 }
             }
         }
     }
 }
Beispiel #8
0
 private async void btnSearch_Click(object sender, RoutedEventArgs e)
 {
     if (!isWorking)
     {
         if (dtpPresentDateSupport1.SelectedDate.HasValue && dtpPresentDateSupport2.SelectedDate.HasValue)
         {
             isWorking = true;
             Storyboard sb = (App.Current.Resources["sbRotateButton"] as Storyboard).Clone();
             sb.SetValue(Storyboard.TargetProperty, sender);
             sb.Begin();
             dgMain.ItemsSource = (await BaseDataBase._TablingStoredProcedureAsync("GetStatistictsItems",
                                                                                   new System.Data.SqlClient.SqlParameter("@StartDate", dtpPresentDateSupport1.SelectedDate),
                                                                                   new System.Data.SqlClient.SqlParameter("@EndDate", dtpPresentDateSupport2.SelectedDate))).DefaultView;
             GetData();
             Changing();
             sb.Pause();
             isWorking = false;
         }
         else
         {
             MyMessageBox.Show("يجب اختيار مجال التاريخ");
         }
     }
 }
        private void btnExecute_Click(object sender, RoutedEventArgs e)
        {
            var x = this.DataContext as User;

            if (radAdd.IsChecked == true)
            {
                if (string.IsNullOrEmpty(x.Name) || string.IsNullOrEmpty(x.Password))
                {
                    MyMessageBox.Show("يجب إدخال كل الحقول");
                }
                else
                {
                    foreach (var item in User.GetUserAll())
                    {
                        if (item.Name.ToLower() == x.Name.ToLower())
                        {
                            MyMessageBox.Show("لايمكن اضافة المستخدم بسبب وجود مستخدم آخر بنفس الاسم");
                            return;
                        }
                    }
                    if (User.InsertData(x))
                    {
                        MyMessage.InsertMessage();
                        (dgUsers.ItemsSource as List <User>).Add(x);
                        dgUsers.Items.Refresh();
                    }
                }
            }
            else
            if (dgUsers.SelectedIndex != -1)
            {
                if (radUpd.IsChecked == true)
                {
                    if (string.IsNullOrEmpty(x.Name) || string.IsNullOrEmpty(x.Password))
                    {
                        MyMessageBox.Show("يجب إدخال كل الحقول");
                    }
                    else
                    {
                        foreach (var item in User.GetUserAll())
                        {
                            if (item.Name.ToLower() == x.Name.ToLower() && item.ID != x.ID)
                            {
                                MyMessageBox.Show("لايمكن اضافة المستخدم بسبب وجود مستخدم آخر بنفس الاسم");
                                return;
                            }
                        }
                        if (User.UpdateData(x))
                        {
                            MyMessage.UpdateMessage();
                            dgUsers.Items.Refresh();
                        }
                    }
                }
                else
                {
                    if (x.ID == BaseDataBase.CurrentUser.ID)
                    {
                        MyMessageBox.Show("لا يمكن حذف المستخدم الحالي");
                    }
                    else if (User.DeleteData(x))
                    {
                        MyMessage.UpdateMessage();
                        (dgUsers.ItemsSource as List <User>).Remove(x);
                        dgUsers.Items.Refresh();
                    }
                }
            }
        }
Beispiel #10
0
        private async void Window_Loaded(object sender, RoutedEventArgs e)
        {
            var o = this.DataContext as Order;

            if (o.Type != 1)
            {
                List <Item> lst = null;
                lst = await Item.GetAllItemsByInventory(o.InventoryID);

                if (lst == null || lst.Count == 0)
                {
                    MyMessageBox.Show("المستودع الذي تم اختياره لا يحوي أي مادة حاليّاً");
                    DialogResult = false;
                    return;
                }

                if (o.Id.HasValue)
                {
                    foreach (var item in o.OIs)
                    {
                        if (lst.Select(x => x.Id).Contains(item.Item.Id))
                        {
                            item.Item.CurrentQuantity = item.Quantity + lst.Where(x => x.Id == item.Item.Id).First().CurrentQuantity;
                        }
                        else
                        {
                            item.Item.CurrentQuantity = item.Quantity;
                        }
                    }
                    dgSelectedItems.ItemsSource = o.OIs;
                    lbMainItems.ItemsSource     = (from x in lst where !IsItemExist(x) select x).ToList <Item>();
                }
                else
                {
                    if (o.OIs.Count > 0)
                    {
                        foreach (var item in o.OIs)
                        {
                            if (lst.Select(x => x.Id).Contains(item.Item.Id))
                            {
                                item.Item.CurrentQuantity = item.Quantity + lst.Where(x => x.Id == item.Item.Id).First().CurrentQuantity;
                            }
                            else
                            {
                                item.Item.CurrentQuantity = item.Quantity;
                            }
                        }
                        dgSelectedItems.ItemsSource = o.OIs;
                        lbMainItems.ItemsSource     = (from x in lst where !IsItemExist(x) select x).ToList <Item>();
                    }
                    else
                    {
                        dgSelectedItems.ItemsSource = new List <Order_Item>();
                        lbMainItems.ItemsSource     = lst;
                    }
                }

                if (lst != null && (o.Type == 3 || o.Type == 4))
                {
                    var FormedItems = o.Type == 3 ? FormedBasket.GetFormedBasketByFamilyID(o.FamilyID.Value).Where(x => x.IsUrgent == o.IsUrgentOrder).ToList() : FormedBasket.ActiveItems;
                    if (FormedItems != null && FormedItems.Count > 0)
                    {
                        FormedBasketSelectControl w = new FormedBasketSelectControl(FormedItems);
                        if (w.ShowDialog() == true)
                        {
                            var fb = w.lstFormedBakset.SelectedItem as FormedBasket;
                            foreach (var item in fb.FormedBasketItems)
                            {
                                if ((lbMainItems.ItemsSource as List <Item>).Where(x => x.Id == item.RelatedItem.Id).FirstOrDefault() == null)
                                {
                                    MyMessageBox.Show("المادة (" + item.RelatedItem.Name + ") غير موجودة في قائمة المواد الحالية\nلم يتم اضافة تشكيلة المواد");
                                    return;
                                }
                            }
                            foreach (var item in fb.FormedBasketItems)
                            {
                                Item       i = (lbMainItems.ItemsSource as List <Item>).Where(x => x.Id == item.RelatedItem.Id).FirstOrDefault();
                                Order_Item s = new Order_Item();
                                s.Item     = i;
                                s.Quantity = item.Quantity;
                                (dgSelectedItems.ItemsSource as List <Order_Item>).Add(s);
                                (lbMainItems.ItemsSource as List <Item>).Remove(i);
                            }
                        }
                    }
                }
            }
            else
            {
                if (o.Id.HasValue)
                {
                    dgSelectedItems.ItemsSource = o.OIs;
                    lbMainItems.ItemsSource     = (from x in Item.AllItems where !IsItemExist(x) select x).ToList <Item>();
                }
                else
                {
                    dgSelectedItems.ItemsSource = o.OIs;
                    lbMainItems.ItemsSource     = (from x in Item.AllItems where !IsItemExist(x) select x).ToList <Item>();
                }
            }


            //Criteria
            if (o != null && !o.Id.HasValue && o.FamilyID.HasValue)
            {
                var OIs = Order_Item.GetFamilyCriteria(o.FamilyID.Value);
                if (OIs != null && OIs.Count > 0)
                {
                    foreach (var s in OIs)
                    {
                        foreach (var i in lbMainItems.ItemsSource as List <Item> )
                        {
                            if (i.Id.HasValue && i.Id.Value == s.Item.Id.Value)
                            {
                                s.Item.Id = i.Id;
                                (dgSelectedItems.ItemsSource as List <Order_Item>).Add(s);
                                (lbMainItems.ItemsSource as List <Item>).Remove(i);
                                break;
                            }
                        }
                    }
                }
            }

            RefreshPanel();
        }
        private bool isValidateByControls(ItemCriteria x)
        {
            if (cmboItems.SelectedItem == null)
            {
                MyMessageBox.Show("يجب اختيار المادة");
                return(false);
            }

            if (x.CriteriaType == "عمر الشخص")
            {
                if (!nudAgeEnd.Value.HasValue || !nudAgeStart.Value.HasValue)
                {
                    MyMessageBox.Show("يجب ادخال مجال العمر");
                    return(false);
                }
                switch (cmboSpan1.SelectedItem.ToString())
                {
                case "يوم":
                    x.StartCriteria = (int)nudAgeStart.Value.Value;
                    break;

                case "شهر":
                    x.StartCriteria = (int)nudAgeStart.Value.Value * 30;
                    break;

                case "سنة":
                    x.StartCriteria = (int)nudAgeStart.Value.Value * 30 * 12;
                    break;
                }

                switch (cmboSpan2.SelectedItem.ToString())
                {
                case "يوم":
                    x.EndCriteria = (int)nudAgeEnd.Value.Value;
                    break;

                case "شهر":
                    x.EndCriteria = (int)nudAgeEnd.Value.Value * 30 - 1;
                    break;

                case "سنة":
                    x.EndCriteria = (int)nudAgeEnd.Value.Value * 30 * 12 - 1;
                    break;
                }
            }
            else if (x.CriteriaType == "بدون معيار")
            {
                x.StartCriteria = null;
                x.EndCriteria   = null;
            }
            else if (x.CriteriaType == "عدد الافراد")
            {
                x.StartCriteria = (int)nudPerosnCountFrom.Value.Value;
                x.EndCriteria   = (int)nudPerosnCountTo.Value.Value;
                if (!nudPerosnCountFrom.Value.HasValue || !nudPerosnCountTo.Value.HasValue)
                {
                    MyMessageBox.Show("يجب ادخال مجال عدد الأفراد");
                    return(false);
                }
            }
            return(true);
        }
Beispiel #12
0
        internal static void printInvoiceA6(Invoice i, int Type)
        {
            try
            {
                var uc = LoadTemplate(Path.Combine(Environment.CurrentDirectory, "InvoiceReportTemplate.xaml")) as UserControl;
                (uc.FindName("txtHeader") as TextBlock).Text = Properties.Settings.Default.VoucherHeaderText;
                var         img    = uc.FindName("img") as Image;
                BitmapImage bitmap = new BitmapImage();
                bitmap.BeginInit();
                bitmap.UriSource = new Uri(Properties.Settings.Default.AssociationLogoPath, UriKind.RelativeOrAbsolute);
                bitmap.EndInit();
                img.Source = bitmap;

                if (Type == 1)
                {
                    uc.DataContext = BaseDataBase._Tabling($@"select Description, Barcode, TotalValue, Serial, Receiver, ReceiverPID, dbo.GetUserByID(LastUserID) UserName, CreateDate, (select Name from Account where ID = {i.Transitions[0].LeftAccount.Id.Value}) SponsorName
                                         from Invoice where Id = {i.ID.Value}");

                    (uc.FindName("grdSponsor") as Grid).Visibility = Visibility.Visible;
                }
                else if (Type == 2)
                {
                    var dv = BaseDataBase._Tabling($@"select Description, Barcode, TotalValue, Serial, Receiver, ReceiverPID, dbo.GetUserByID(LastUserID) UserName, CreateDate from Invoice where Id = {i.ID.Value}");
                    (uc.FindName("icOrphans") as ItemsControl).ItemsSource = BaseDataBase._Tabling($@"select FirstName + ' ' + ISNULL(LastName,'') OrphanName, orphan.Type, Value, Sponsor.Name SponsorName from orphan
                                            inner join Account on Account.Type >= 2 and OwnerID = OrphanID
                                            inner join Transition on InvoiceID = {i.ID.Value} and Account.Id = RightAccount
                                            inner join (select * from Sponsorship where ID in (select Max(ID) from Sponsorship group by OrphanID)) Sponsorship on Sponsorship.OrphanID = Orphan.OrphanID
                                            inner join AvailableSponsorship on AvailableSponsorship.Id = Sponsorship.AvailableSponsorshipID
                                            inner join Sponsor on AvailableSponsorship.SponsorID = Sponsor.SponsorID").DefaultView;

                    uc.DataContext = dv;
                    (uc.FindName("grdOrphan") as Grid).Visibility = Visibility.Visible;
                    var w = new ToWord(decimal.Parse(dv.Rows[0]["TotalValue"].ToString()), new CurrencyInfo(CurrencyInfo.Currencies.Syria));
                    (uc.FindName("TotalValueWord") as TextBlock).Text = w.ConvertToArabic();
                }

                // Create the print dialog object and set options
                PrintDialog pDialog = new PrintDialog();
                pDialog.PageRangeSelection            = PageRangeSelection.AllPages;
                pDialog.UserPageRangeEnabled          = true;
                pDialog.PrintQueue                    = System.Printing.LocalPrintServer.GetDefaultPrintQueue();
                pDialog.PrintTicket                   = pDialog.PrintQueue.DefaultPrintTicket;
                pDialog.PrintTicket.PageScalingFactor = 1;

                System.Printing.PrintCapabilities capabilities = null;
                try
                {
                    capabilities = pDialog.PrintQueue.GetPrintCapabilities(pDialog.PrintTicket);
                }
                catch
                {
                    capabilities = null;
                }
                Viewbox vb = new Viewbox();
                vb.Child = uc;

                System.Windows.Size sz = new Size(520, 380);
                vb.MinWidth  = 1;
                vb.MinHeight = 1;
                vb.Measure(sz);
                vb.Arrange(new System.Windows.Rect(new System.Windows.Point(capabilities.PageImageableArea.OriginWidth, capabilities.PageImageableArea.OriginHeight), sz));

                double scale = 1;
                vb.LayoutTransform = new ScaleTransform(scale, scale);

                pDialog.PrintVisual(vb, "MyViewBox");
            }
            catch (Exception ex)
            {
                MyMessageBox.Show(ex.Message);
            }
        }
Beispiel #13
0
 internal static bool DeleteFormedBasketSectors(FormedBasket fb)
 {
     try
     {
         BaseDataBase._NonQuery("delete from FormedBasket_Sector where FormedBasketID = " + fb.Id.Value);
         return(true);
     }
     catch (Exception ex) { MyMessageBox.Show(ex.Message); return(false); }
 }
Beispiel #14
0
        public void btn_Click(object sender, RoutedEventArgs e)
        {
            Button b = (Button)e.Source;

            if (b.Content.ToString() != "بيانات العوائل")
            {
                if (!BaseDataBase.CurrentUser.IsAdmin)
                {
                    if (b.Content.ToString() == "إحصائيات وبحث" && !BaseDataBase.CurrentUser.CanMakeStatistics)
                    {
                        MyMessageBox.Show("ليس لديك صلاحيات للدخول");
                        return;
                    }
                    if (b.Content.ToString() == "بيانات النظام" && !BaseDataBase.CurrentUser.PointAdmin)
                    {
                        MyMessageBox.Show("ليس لديك صلاحيات للدخول");
                        return;
                    }
                    if (b.Content.ToString() == "متابعة الأيتام" && !BaseDataBase.CurrentUser.CanUpdateFamily)
                    {
                        MyMessageBox.Show("ليس لديك صلاحيات للدخول");
                        return;
                    }
                }
            }
            if (CheckTabControl(b.Content.ToString()))
            {
                TabItem ti = new TabItem();
                ti.Header = b.Content.ToString();
                switch (b.Content.ToString())
                {
                case "إحصائيات وبحث":
                    ti.Content = new StatisticsControl();
                    break;

                case "الايتام/طلاب العلم":
                    ti.Content = new OrphanBaseControl();
                    break;

                case "بيانات العوائل":
                    ti.Content = new FamilyMainControl();
                    break;

                case "بيانات النظام":
                    ti.Content = new SystemDataControl();
                    break;

                case "المواد والمستودعات":
                    ti.Content = new InventoryBaseControl();
                    break;

                case "تصدير إلى إكسل":
                    btnExitAboutControl_Click(btnExitSettings, null);
                    ti.Content = new StaHilal();
                    break;

                case "استيراد من إكسل":
                    btnExitAboutControl_Click(btnExitSettings, null);
                    ti.Content = new ImportDataControl();
                    break;
                }
                tcMain.Items.Add(ti);

                if (tcMain.Items.Count == 1)
                {
                    HideMainControls();
                }
                tcMain.SelectedIndex = tcMain.Items.Count - 1;
            }
        }
Beispiel #15
0
 private void btnTabClose_Click(object sender, RoutedEventArgs e)
 {
     foreach (TabItem item in tcMain.Items)
     {
         if (item.Header.ToString() == "رسائل المستخدمين")
         {
             (item.Content as UserMessageControl).StopDispatcher();
         }
     }
     if (BaseDataBase.CurrentUser.IsAdmin || !BaseDataBase.CurrentUser.CanPresent || MyMessageBox.Show("تنبيه .. هل تريد الخروج", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
     {
         TabItem x = (TabItem)((Button)e.OriginalSource).TemplatedParent;
         tcMain.Items.Remove(x);
         if (tcMain.Items.Count == 0)
         {
             ShowMainControls();
         }
     }
 }
Beispiel #16
0
 private void CommandBindingClose_Executed(object sender, ExecutedRoutedEventArgs e)
 {
     if (tcMain.SelectedIndex != -1)
     {
         if (BaseDataBase.CurrentUser.IsAdmin || !BaseDataBase.CurrentUser.CanPresent || MyMessageBox.Show("تنبيه .. هل تريد الخروج", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
         {
             TabItem x = (tcMain.SelectedItem as TabItem);
             if (x != null)
             {
                 tcMain.Items.Remove(x);
                 if (tcMain.Items.Count == 0)
                 {
                     foreach (var item in btns)
                     {
                         item.IsEnabled = false;
                     }
                     ((Storyboard)this.Resources["sbHideButtons"]).Begin(this);
                     ((Storyboard)this.Resources["sbSlideDown"]).Begin(this);
                 }
             }
         }
     }
 }
        private void AddSupport_Click(object sender, RoutedEventArgs e)
        {
            if (!CanPresent())
            {
                MyMessageBox.Show("لا يمكن التسليم حاليا لهذا القطاع");
                return;
            }
            if (!(BaseDataBase.CurrentUser.CanPresent || BaseDataBase.CurrentUser.PointAdmin))
            {
                MyMessageBox.Show("ليس لديك صلاحية لاضافة اعانة");
            }
            else
            {
                DateTime?MaxNextOrderDate;
                try
                {
                    MaxNextOrderDate = (from x in (lvOrders.ItemsSource as List <Order>) where x.NextOrderDate.HasValue select x.NextOrderDate).Max();
                }
                catch { MaxNextOrderDate = null; }
                if (MaxNextOrderDate.HasValue && BaseDataBase.DateNow < MaxNextOrderDate.Value)
                {
                    string s = "متبقي " + (MaxNextOrderDate.Value - BaseDataBase.DateNow).Days + " ايام للاستلام القادم\nتاريخ الاستلام القادم " + MaxNextOrderDate.Value.ToShortDateString();

                    int gapDays = 0;
                    int.TryParse(SystemProperties.GetSystemPropertyValue(SystemProperties.Property.NextOrderGap), out gapDays);

                    if (gapDays >= (MaxNextOrderDate.Value - BaseDataBase.DateNow).Days)
                    {
                        s += "\nويوجد " + gapDays + " ايام مسموح فيها التسليم. هل تريد المتابعة";
                        if (MyMessageBox.Show(s, MessageBoxButton.YesNo) != MessageBoxResult.Yes)
                        {
                            return;
                        }
                    }
                    else if (!BaseDataBase.CurrentUser.PointAdmin)
                    {
                        s += "\nلا يمكن اضافة اعانة حالياً";
                        MyMessageBox.Show(s);
                        return;
                    }
                    else
                    {
                        MyMessageBox.Show(s);
                    }
                }

                Order o = new Order();
                o.Type        = 3;
                o.OrphanID    = this.OrphanID;
                o.FamilyID    = this.FamilyID;
                o.InventoryID = Sector.GetInventoryByFamilyID(o.FamilyID);
                FamilyOrderControl w = new FamilyOrderControl(o);
                if (w.ShowDialog() == true)
                {
                    MyMessage.InsertMessage();
                    var main = App.Current.MainWindow as MainWindow;
                    main.tcMain.Items.Remove(main.tcMain.SelectedItem);
                    if (main.tcMain.Items.Count == 0)
                    {
                        main.ShowMainControls();
                    }
                    //var orders = lvOrders.ItemsSource as List<Order>;
                    //orders.Insert(0, o);
                    //GetTotal();
                }
            }
        }
Beispiel #18
0
        internal bool IsValidate()
        {
            bool isValid = true;

            this.ClearAllErrors();
            if (string.IsNullOrEmpty(FirstName))
            {
                isValid = false;
                this.SetError("FirstName", "يجب إدخال الاسم");
            }
            if (string.IsNullOrEmpty(LastName))
            {
                isValid = false;
                this.SetError("LastName", "يجب إدخال الكنية");
            }
            if (string.IsNullOrEmpty(Gender))
            {
                isValid = false;
                this.SetError("Gender", "يجب إدخال الجنس");
            }
            if (DOB.HasValue)
            {
                var diff = BaseDataBase.DateNow - DOB.Value;
                if (diff.Days / 30 / 12 < 12 || diff.Days / 30 / 12 > 120)
                {
                    isValid = false;
                    this.SetError("DOB", "التاريخ غير صالح يجب ادخال عمر صحيح");
                }
            }
            if (PregnantDate.HasValue)
            {
                var diff = BaseDataBase.DateNow - PregnantDate.Value;
                if (diff.Days < 25 || diff.Days > 299)
                {
                    isValid = false;
                    this.SetError("PregnantDate", "التاريخ غير صالح يجب ادخال تاريخ بداية حمل صحيح");
                }
            }
            if (string.IsNullOrEmpty(Status))
            {
                isValid = false;
                this.SetError("Status", "يجب اختيار الحالة");
            }
            if (string.IsNullOrEmpty(PID))
            {
                isValid = false;
                this.SetError("PID", "يجب إدخال الرقم الوطني");
            }
            else if (PID != "لايوجد رقم وطني")
            {
                if (!BaseDataBase.IsStringNumber(PID))
                {
                    isValid = false;
                    this.SetError("PID", "الرقم الوطني يجب أن يحوي أرقاماً فقط");
                }
                else if (PID.Length < 10 || PID.Length > 12)
                {
                    isValid = false;
                    this.SetError("PID", "الرقم الوطني يجب أن يحوي 10 أو 11 أو 12 رقم");
                }
                else
                {
                    string ExistingFamilyCode = BaseDataBase._Scalar_StoredProcedure("sp_GetFamilyCodeByParentPID", new SqlParameter("@ParenttID", ParentrID), new SqlParameter("@PID", PID));
                    if (!string.IsNullOrEmpty(ExistingFamilyCode))
                    {
                        isValid = false;
                        this.SetError("PID", "الرقم الوطني موجود في قاعدة البيانات برقم عائلة " + ExistingFamilyCode);
                    }
                    else
                    {
                        ExistingFamilyCode = BaseDataBase._Scalar_StoredProcedure("sp_GetFamilyCodeByFamilyPersonPID", new SqlParameter("@PID", PID));
                        if (!string.IsNullOrEmpty(ExistingFamilyCode))
                        {
                            isValid = false;
                            this.SetError("PID", "الرقم الوطني موجود في قاعدة البيانات ضمن افراد عائلة رقم " + ExistingFamilyCode);
                        }
                    }
                }
            }
            if (!isValid)
            {
                string s = "";
                foreach (var item in errors)
                {
                    s += item.Value + "\n";
                }
                MyMessageBox.Show(s);
            }
            return(isValid);
        }
Beispiel #19
0
 
 public class FormedBasket_Sector : ModelViewContext
    { 
 public static bool SaveFormedBasketSectors(FormedBasket fb)
                                                             {
                                                                 try
                                                                 {
                                                                     BaseDataBase._NonQuery("delete from FormedBasket_Sector where FormedBasketID = " + fb.Id.Value);
                                                                     foreach (var sector in fb.RelatedSectors)
                                                                     {
                                                                         BaseDataBase._NonQuery($"INSERT INTO [dbo].[FormedBasket_Sector]([FormedBasketID],[SectorID],[LastUserID]) VALUES({fb.Id}, {sector.ID}, {BaseDataBase.CurrentUser.ID})");
                                                                     }
                                                                     return(true);
                                                                 }
                                                                 catch (Exception ex) { MyMessageBox.Show(ex.Message); return(false); }
                                                             }
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
            var f = cOrphanFamily.DataContext as Family;

            if (f.IsValidate())
            {
                if (!(string.IsNullOrEmpty(f.FamilyFather.FirstName) && string.IsNullOrEmpty(f.FamilyFather.LastName)))
                {
                    if (!f.FamilyFather.IsValidate())
                    {
                        return;
                    }
                }
                if (!(string.IsNullOrEmpty(f.FamilyMother.FirstName) && string.IsNullOrEmpty(f.FamilyMother.LastName)))
                {
                    if (!f.FamilyMother.IsValidate())
                    {
                        return;
                    }
                }
                if (!(string.IsNullOrEmpty(f.OrphanGuardian.FirstName) && string.IsNullOrEmpty(f.OrphanGuardian.LastName)))
                {
                    if (!f.OrphanGuardian.IsValidate())
                    {
                        return;
                    }
                }
                if (!(string.IsNullOrEmpty(f.OrphanNursemaid.FirstName) && string.IsNullOrEmpty(f.OrphanNursemaid.LastName)))
                {
                    if (!f.OrphanNursemaid.IsValidate())
                    {
                        return;
                    }
                }
                if (!string.IsNullOrEmpty(f.FamilyHouse.OldAddress) || !string.IsNullOrEmpty(f.FamilyHouse.Address))
                {
                    if (!f.FamilyHouse.IsValidate())
                    {
                        return;
                    }
                }
                foreach (var fp in cOrphanFamily.dgChild.ItemsSource as List <FamilyPerson> )
                {
                    if (!fp.IsValidate())
                    {
                        return;
                    }
                }

                if (cOrphanFamily.Orphans == null || cOrphanFamily.Orphans.Count == 0)
                {
                    MyMessageBox.Show("يجب ادخال بيانات الايتام");
                    return;
                }

                if (!f.FamilyID.HasValue)
                {
                    if (!DBMain.InsertData(f))
                    {
                        return;
                    }
                    else
                    {
                        MyMessage.InsertMessage();
                        var tih = this.Parent as TabItem;
                        if (tih != null)
                        {
                            tih.Header = f.FamilyCode + " " + f.FamilyName;
                        }
                    }
                }
                else if (!DBMain.UpdateData(f))
                {
                    return;
                }
                else
                {
                    MyMessage.UpdateMessage();
                }

                //Father
                if (!(string.IsNullOrEmpty(f.FamilyFather.FirstName) && string.IsNullOrEmpty(f.FamilyFather.LastName)))
                {
                    if (f.FamilyFather.ParentrID.HasValue)
                    {
                        DBMain.UpdateData(f.FamilyFather);
                    }
                    else
                    {
                        DBMain.InsertData(f.FamilyFather);
                    }
                }
                else if (f.FamilyFather.ParentrID.HasValue)
                {
                    DBMain.DeleteData(f.FamilyFather);
                }
                //Mother
                if (!(string.IsNullOrEmpty(f.FamilyMother.FirstName) && string.IsNullOrEmpty(f.FamilyMother.LastName)))
                {
                    if (f.FamilyMother.ParentrID.HasValue)
                    {
                        DBMain.UpdateData(f.FamilyMother);
                    }
                    else
                    {
                        DBMain.InsertData(f.FamilyMother);
                    }
                }
                else if (f.FamilyMother.ParentrID.HasValue)
                {
                    DBMain.DeleteData(f.FamilyMother);
                }
                //Guardian
                if (!(string.IsNullOrEmpty(f.OrphanGuardian.FirstName) && string.IsNullOrEmpty(f.OrphanGuardian.LastName)))
                {
                    f.OrphanGuardian.FamilyID = f.FamilyID;
                    if (f.OrphanGuardian.GuardianID.HasValue)
                    {
                        Guardian.UpdateData(f.OrphanGuardian);
                    }
                    else
                    {
                        Guardian.InsertData(f.OrphanGuardian);
                    }
                }
                else if (f.OrphanGuardian.GuardianID.HasValue)
                {
                    Guardian.DeleteData(f.OrphanGuardian);
                }
                //Nursemaid
                if (!(string.IsNullOrEmpty(f.OrphanNursemaid.FirstName) && string.IsNullOrEmpty(f.OrphanNursemaid.LastName)))
                {
                    f.OrphanNursemaid.FamilyID = f.FamilyID;
                    if (f.OrphanNursemaid.GuardianID.HasValue)
                    {
                        Guardian.UpdateData(f.OrphanNursemaid);
                    }
                    else
                    {
                        Guardian.InsertData(f.OrphanNursemaid);
                    }
                }
                else if (f.OrphanNursemaid.GuardianID.HasValue)
                {
                    Guardian.DeleteData(f.OrphanNursemaid);
                }

                f.FamilyHouse.FamilyID = f.FamilyID;
                if (!string.IsNullOrEmpty(f.FamilyHouse.OldAddress) || !string.IsNullOrEmpty(f.FamilyHouse.HouseSection))
                {
                    if (f.FamilyHouse.HouseID == null)
                    {
                        DBMain.InsertData(f.FamilyHouse);
                    }
                    else
                    {
                        DBMain.UpdateData(f.FamilyHouse);
                    }
                }

                foreach (var fp in cOrphanFamily.dgChild.ItemsSource as List <FamilyPerson> )
                {
                    if (fp.FamilyPersonID.HasValue)
                    {
                        DBMain.UpdateData(fp);
                    }
                    else if (f.FamilyID.HasValue)
                    {
                        fp.FamilyID = f.FamilyID;
                        DBMain.InsertData(fp);
                    }
                }
                foreach (var o in cOrphanFamily.Orphans)
                {
                    if (o.OrphanID.HasValue)
                    {
                        Orphan.UpdateData(o);
                    }
                    else if (f.FamilyID.HasValue)
                    {
                        if (Orphan.InsertData(o))
                        {
                            o.Account                = new Account();
                            o.Account.Name           = o.FirstName + " " + o.LastName;
                            o.Account.Type           = o.Type == "يتيم" ? Account.AccountType.Orphan : o.Type == "يتيم طالب علم" ? Account.AccountType.OrphanStudent : Account.AccountType.Student;
                            o.Account.CurrentBalance = 0;
                            o.Account.CreateDate     = BaseDataBase.DateNow;
                            o.Account.OwnerID        = o.OrphanID;
                            o.Account.Status         = "مفعل";
                            o.Account.IsDebit        = true;

                            Account.InsertData(o.Account);
                        }
                    }
                }
                cFamilyNeed.FamilyID            = f.FamilyID;
                cExternalFamilySupport.FamilyID = f.FamilyID;
                cSpecialCard.FamilyID           = f.FamilyID;
                cListerGroup.FamilyID           = f.FamilyID;
                cOrders.FamilyID = f.FamilyID;

                f.UpdateFamilyPersonCount();
            }
        }
Beispiel #21
0
        internal static void printReportA6(Order o)
        {
            try
            {
                if (o.Type < 3)
                {
                    var uc = LoadTemplate(Path.Combine(Environment.CurrentDirectory, "VoucherReportTemplate.xaml")) as UserControl;
                    uc.DataContext = o;
                    (uc.FindName("Items") as ItemsControl).ItemsSource = from x in o.OIs select new { ItemName = x.Item.Name, Quantity = x.Quantity, StandardUnit = x.Item.StandardUnit };
                    (uc.FindName("txtTag") as TextBlock).Text          = "1/1";
                    (uc.FindName("txtHeader") as TextBlock).Text       = Properties.Settings.Default.VoucherHeaderText;
                    (uc.FindName("grdFamily") as Grid).Visibility      = Visibility.Collapsed;
                    (uc.FindName("grdOrder") as Grid).Visibility       = Visibility.Visible;

                    var         img    = uc.FindName("img") as Image;
                    BitmapImage bitmap = new BitmapImage();
                    bitmap.BeginInit();
                    bitmap.UriSource = new Uri(Properties.Settings.Default.AssociationLogoPath, UriKind.RelativeOrAbsolute);
                    bitmap.EndInit();
                    img.Source = bitmap;

                    // Create the print dialog object and set options
                    PrintDialog pDialog = new PrintDialog();
                    pDialog.PageRangeSelection            = PageRangeSelection.AllPages;
                    pDialog.UserPageRangeEnabled          = true;
                    pDialog.PrintQueue                    = System.Printing.LocalPrintServer.GetDefaultPrintQueue();
                    pDialog.PrintTicket                   = pDialog.PrintQueue.DefaultPrintTicket;
                    pDialog.PrintTicket.PageScalingFactor = 1;

                    System.Printing.PrintCapabilities capabilities = null;
                    try
                    {
                        capabilities = pDialog.PrintQueue.GetPrintCapabilities(pDialog.PrintTicket);
                    }
                    catch
                    {
                        capabilities = null;
                    }
                    Viewbox vb = new Viewbox();
                    vb.Child = uc;

                    System.Windows.Size sz = new Size(520, 380);
                    vb.MinWidth  = 1;
                    vb.MinHeight = 1;
                    vb.Measure(sz);
                    vb.Arrange(new System.Windows.Rect(new System.Windows.Point(capabilities.PageImageableArea.OriginWidth, capabilities.PageImageableArea.OriginHeight), sz));

                    double scale = 1;
                    vb.LayoutTransform = new ScaleTransform(scale, scale);

                    pDialog.PrintVisual(vb, "MyViewBox");
                }
                else if (o.Type == 3)
                {
                    var dtVoucherCriteria = BaseDataBase._Tabling($@"select IsNull(GroupID,-1) GroupID,Item.Name ItemName, Quantity, StandardUnit from
                                    (select ItemID, Quantity from Order_Item where OrderID = {o.Id}) t1 
                                    inner join Item on t1.ItemID = item.Id
                                    left outer join VoucherCriteria t2
                                    on t1.ItemID = t2.ItemID");
                    if (dtVoucherCriteria != null && dtVoucherCriteria.Rows.Count > 0)
                    {
                        List <DataTable> subTables = dtVoucherCriteria.AsEnumerable().GroupBy(row => row.Field <int>("GroupID")).Select(g => g.CopyToDataTable()).ToList();
                        if (subTables.Count > 1)
                        {
                            MyMessageBox.Show("ستم طباعة " + subTables.Count + " وصل");
                        }

                        var dt = BaseDataBase._Tabling($@"select OrderCode Id,[Order].Barcode, dbo.GetInventory(InventoryID) InventoryName,dbo.fn_getSectorByOrderID([Order].Id) Sector, 
	                            Family.FamilyID FamilyCode, 
	                            case when FatherName is not null then FatherName else (case when MotherName is not null then MotherName else FamilyName end) end as FatherName, 
	                            case when FatherPID is not null then FatherPID else (case when MotherPID is not null then MotherPID else 'لايوجد رقم وطني' end) end as PID, 
	                            NextOrderDate,
                                Date, Users.Name Presenter from [Order]
                                inner join Family on [Order].Id = {o.Id} and Family.FamilyID = [Order].FamilyID
                                inner join Users on Users.Id = [Order].LastUserID 
                                left outer join
                                (select FirstName + ' ' + IsNUll(LastName,'') FatherName ,PID FatherPID, FamilyID from Parent where Gender like N'ذكر') x 
                                on x.FamilyID = [Order].FamilyID
	                            left outer join
	                            (select FirstName + ' ' + IsNUll(LastName,'') MotherName ,PID MotherPID, FamilyID from Parent where Gender like N'أنثى') y 
                                on y.FamilyID = [Order].FamilyID");

                        for (int i = 0; i < subTables.Count; i++)
                        {
                            var uc = LoadTemplate(Path.Combine(Environment.CurrentDirectory, "VoucherReportTemplate.xaml")) as UserControl;
                            uc.DataContext = null;
                            uc.DataContext = dt.DefaultView;
                            (uc.FindName("Items") as ItemsControl).ItemsSource = subTables[i].DefaultView;
                            (uc.FindName("txtTag") as TextBlock).Text          = (i + 1) + "/" + subTables.Count;
                            (uc.FindName("txtHeader") as TextBlock).Text       = Properties.Settings.Default.VoucherHeaderText;

                            var         img    = uc.FindName("img") as Image;
                            BitmapImage bitmap = new BitmapImage();
                            bitmap.BeginInit();
                            bitmap.UriSource = new Uri(Properties.Settings.Default.AssociationLogoPath, UriKind.RelativeOrAbsolute);
                            bitmap.EndInit();
                            img.Source = bitmap;

                            // Create the print dialog object and set options
                            PrintDialog pDialog = new PrintDialog();
                            pDialog.PageRangeSelection            = PageRangeSelection.AllPages;
                            pDialog.UserPageRangeEnabled          = true;
                            pDialog.PrintQueue                    = System.Printing.LocalPrintServer.GetDefaultPrintQueue();
                            pDialog.PrintTicket                   = pDialog.PrintQueue.DefaultPrintTicket;
                            pDialog.PrintTicket.PageScalingFactor = 1;

                            System.Printing.PrintCapabilities capabilities = null;
                            try
                            {
                                capabilities = pDialog.PrintQueue.GetPrintCapabilities(pDialog.PrintTicket);
                            }
                            catch
                            {
                                capabilities = null;
                            }
                            Viewbox vb = new Viewbox();
                            vb.Child = uc;

                            System.Windows.Size sz = new Size(520, 380);
                            vb.MinWidth  = 1;
                            vb.MinHeight = 1;
                            vb.Measure(sz);
                            vb.Arrange(new System.Windows.Rect(new System.Windows.Point(capabilities.PageImageableArea.OriginWidth, capabilities.PageImageableArea.OriginHeight), sz));

                            double scale = 1;
                            vb.LayoutTransform = new ScaleTransform(scale, scale);

                            pDialog.PrintVisual(vb, "MyViewBox");
                        }
                    }
                }
                else
                {
                    var dtVoucherCriteria = BaseDataBase._Tabling($@"select IsNull(GroupID,-1) GroupID,Item.Name ItemName, Quantity, StandardUnit from
                                    (select ItemID, Quantity from Order_Item where OrderID = {o.Id}) t1 
                                    inner join Item on t1.ItemID = item.Id
                                    left outer join VoucherCriteria t2
                                    on t1.ItemID = t2.ItemID");
                    if (dtVoucherCriteria != null && dtVoucherCriteria.Rows.Count > 0)
                    {
                        List <DataTable> subTables = dtVoucherCriteria.AsEnumerable().GroupBy(row => row.Field <int>("GroupID")).Select(g => g.CopyToDataTable()).ToList();
                        if (subTables.Count > 1)
                        {
                            MyMessageBox.Show("ستم طباعة " + subTables.Count + " وصل");
                        }

                        var dt = BaseDataBase._Tabling($@"select OrderCode Id,[Order].Barcode, dbo.GetInventory(InventoryID) InventoryName,'عائلة خاصة' Sector, SpecialFamily.Id FamilyCode, SpecialFamily.Name FatherName, PID,
                                            Date, Users.Name Presenter from [Order]
                                            inner join SpecialFamily on [Order].Id = {o.Id} and SpecialFamily.Id = [Order].SpecialFamilyID
                                            inner join Users on Users.Id = [Order].LastUserID");


                        for (int i = 0; i < subTables.Count; i++)
                        {
                            var uc = LoadTemplate(Path.Combine(Environment.CurrentDirectory, "VoucherReportTemplate.xaml")) as UserControl;
                            uc.DataContext = null;
                            uc.DataContext = dt;
                            (uc.FindName("Items") as ItemsControl).ItemsSource = subTables[i].DefaultView;
                            (uc.FindName("txtTag") as TextBlock).Text          = (i + 1) + "/" + subTables.Count;
                            (uc.FindName("txtHeader") as TextBlock).Text       = Properties.Settings.Default.VoucherHeaderText;
                            //(uc.FindName("Items") as ItemsControl).ItemsSource = from x in o.OIs select new { ItemName = x.Item.Name, Quantity = x.Quantity, StandardUnit = x.Item.StandardUnit };
                            //(uc.FindName("txtTag") as TextBlock).Text = "1/1";

                            var         img    = uc.FindName("img") as Image;
                            BitmapImage bitmap = new BitmapImage();
                            bitmap.BeginInit();
                            bitmap.UriSource = new Uri(Properties.Settings.Default.AssociationLogoPath, UriKind.RelativeOrAbsolute);
                            bitmap.EndInit();
                            img.Source = bitmap;

                            // Create the print dialog object and set options
                            PrintDialog pDialog = new PrintDialog();
                            pDialog.PageRangeSelection            = PageRangeSelection.AllPages;
                            pDialog.UserPageRangeEnabled          = true;
                            pDialog.PrintQueue                    = System.Printing.LocalPrintServer.GetDefaultPrintQueue();
                            pDialog.PrintTicket                   = pDialog.PrintQueue.DefaultPrintTicket;
                            pDialog.PrintTicket.PageScalingFactor = 1;

                            System.Printing.PrintCapabilities capabilities = null;
                            try
                            {
                                capabilities = pDialog.PrintQueue.GetPrintCapabilities(pDialog.PrintTicket);
                            }
                            catch
                            {
                                capabilities = null;
                            }
                            Viewbox vb = new Viewbox();
                            vb.Child = uc;

                            System.Windows.Size sz = new Size(520, 380);
                            vb.MinWidth  = 1;
                            vb.MinHeight = 1;
                            vb.Measure(sz);
                            vb.Arrange(new System.Windows.Rect(new System.Windows.Point(capabilities.PageImageableArea.OriginWidth, capabilities.PageImageableArea.OriginHeight), sz));

                            double scale = 1;
                            vb.LayoutTransform = new ScaleTransform(scale, scale);

                            pDialog.PrintVisual(vb, "MyViewBox");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MyMessageBox.Show(ex.Message);
            }
        }
        private void btnPrintAll_Click(object sender, RoutedEventArgs e)
        {
            if (cmboPrintType.SelectedIndex == 0)
            {
                SaveFileDialog dlg = new SaveFileDialog();
                dlg.DefaultExt = ".xps";
                dlg.Filter     = "XPS Print Documents (.xps)|*.xps";

                if (dlg.ShowDialog() == true)
                {
                    tfs      = new List <TempFamily>();
                    FileName = dlg.FileName;
                    if (FileName.Substring(FileName.LastIndexOf('.'), FileName.Length - FileName.LastIndexOf('.')) != ".xps")
                    {
                        FileName += ".xps";
                    }
                    foreach (DataRowView item in dgmain.ItemsSource as DataView)
                    {
                        tfs.Add(TempFamily.GetTempFamilyByID((int)item[0]));
                    }
                    try
                    {
                        FixedDocument fd = new FixedDocument();
                        fd.DocumentPaginator.PageSize = new Size(1056, 768);
                        int index = 0;

                        foreach (var f in tfs)
                        {
                            index++;
                            var pc = LoadTemplate(Path.Combine(Environment.CurrentDirectory, "TempFamilyReportTemplate.xaml")) as PageContent;

                            if (pc != null)
                            {
                                pc.Child.Margin = new Thickness(25);
                                var img = pc.FindName("img") as Image;
                                if (img != null)
                                {
                                    img.Stretch = Stretch.Fill;
                                    BitmapImage bi = new BitmapImage();
                                    bi.BeginInit();
                                    bi.UriSource = new Uri(Properties.Settings.Default.AssociationLogoPath, UriKind.RelativeOrAbsolute);
                                    bi.EndInit();
                                    img.Source = bi;
                                }
                                var txtUser = pc.FindName("txtUser") as TextBlock;
                                if (txtUser != null)
                                {
                                    txtUser.Text = BaseDataBase.CurrentUser.Name;
                                }

                                var txt = pc.FindName("txtMainDescription") as TextBlock;
                                if (txt != null)
                                {
                                    txt.Text = Properties.Settings.Default.ReportHeaderDescription;
                                }

                                var gridChild = pc.Child.FindName("grdChilds") as Grid;
                                if (gridChild != null)
                                {
                                    int i = 1;
                                    foreach (var tc in f.TempChilds)
                                    {
                                        TextBlock tb1 = new TextBlock();
                                        tb1.Text = tc.Name;
                                        tb1.SetValue(Grid.ColumnProperty, 1);
                                        tb1.SetValue(Grid.RowProperty, i);

                                        TextBlock tb2 = new TextBlock();
                                        tb2.Text = tc.Gender;
                                        tb2.SetValue(Grid.ColumnProperty, 2);
                                        tb2.SetValue(Grid.RowProperty, i);

                                        TextBlock tb3 = new TextBlock();
                                        tb3.Text = tc.DOB.Value.ToString("dd/MM/yyyy");
                                        tb3.SetValue(Grid.ColumnProperty, 4);
                                        tb3.SetValue(Grid.RowProperty, i);


                                        gridChild.Children.Add(tb1);
                                        gridChild.Children.Add(tb2);
                                        gridChild.Children.Add(tb3);
                                        i++;
                                    }
                                }

                                pc.Child.DataContext = null;
                                pc.Child.DataContext = f;
                                fd.Pages.Add(pc);
                            }
                        }
                        CreateXPSDocument(fd.DocumentPaginator, FileName);

                        foreach (var item in tfs)
                        {
                            item.Printer   = BaseDataBase.CurrentUser.Name;
                            item.IsPrinted = true;
                            TempFamily.UpadteData(item);
                        }
                        MyMessageBox.Show("تمت الطباعة بنجاح");
                    }
                    catch (Exception ex)
                    {
                        MyMessageBox.Show(ex.Message);
                    }
                }
            }
            else
            {
                SaveFileDialog dlg = new SaveFileDialog();
                dlg.DefaultExt = ".xps";
                dlg.Filter     = "XPS Print Documents (.xps)|*.xps";

                if (dlg.ShowDialog() == true)
                {
                    fs       = new List <Family>();
                    FileName = dlg.FileName;
                    if (FileName.Substring(FileName.LastIndexOf('.'), FileName.Length - FileName.LastIndexOf('.')) != ".xps")
                    {
                        FileName += ".xps";
                    }
                    foreach (DataRowView item in dgmain.ItemsSource as DataView)
                    {
                        fs.Add(Family.GetFamilyByID((int)item[0]));
                    }
                    try
                    {
                        FixedDocument fd = new FixedDocument();
                        fd.DocumentPaginator.PageSize = new Size(1056, 768);
                        int index = 0;

                        foreach (var f in fs)
                        {
                            index++;
                            var pc = LoadTemplate(Path.Combine(Environment.CurrentDirectory, "FamilyReportTemplate.xaml")) as PageContent;

                            if (pc != null)
                            {
                                pc.Child.Margin = new Thickness(25);
                                var img = pc.FindName("img") as Image;
                                if (img != null)
                                {
                                    img.Stretch = Stretch.Fill;
                                    BitmapImage bi = new BitmapImage();
                                    bi.BeginInit();
                                    bi.UriSource = new Uri(Properties.Settings.Default.AssociationLogoPath, UriKind.RelativeOrAbsolute);
                                    bi.EndInit();
                                    img.Source = bi;
                                }
                                var txt = pc.FindName("txtMainDescription") as TextBlock;
                                if (txt != null)
                                {
                                    txt.Text = Properties.Settings.Default.ReportHeaderDescription;
                                }

                                var gridHouse = pc.Child.FindName("grdHouse") as Grid;
                                if (gridHouse != null)
                                {
                                    var hs = House.GetHouseAllByFamilyID(f.FamilyID);
                                    if (hs != null && hs.Count > 0)
                                    {
                                        gridHouse.DataContext = hs.Last();
                                    }
                                }
                                var gridChild = pc.Child.FindName("grdChilds") as Grid;
                                if (gridChild != null)
                                {
                                    int i = 1;
                                    foreach (var tc in FamilyPerson.GetFamilyPersonByFamilyID(f.FamilyID.Value))
                                    {
                                        TextBlock tb1 = new TextBlock();
                                        tb1.Text = tc.FirstName;
                                        tb1.SetValue(Grid.ColumnProperty, 1);
                                        tb1.SetValue(Grid.RowProperty, i);

                                        TextBlock tb2 = new TextBlock();
                                        tb2.Text = tc.Gender;
                                        tb2.SetValue(Grid.ColumnProperty, 2);
                                        tb2.SetValue(Grid.RowProperty, i);

                                        TextBlock tb3 = new TextBlock();
                                        tb3.Text = tc.RelationShip;
                                        tb3.SetValue(Grid.ColumnProperty, 3);
                                        tb3.SetValue(Grid.RowProperty, i);

                                        TextBlock tb4 = new TextBlock();
                                        tb4.Text = tc.DOB.Value.ToString("dd/MM/yyyy");
                                        tb4.SetValue(Grid.ColumnProperty, 4);
                                        tb4.SetValue(Grid.RowProperty, i);

                                        TextBlock tb5 = new TextBlock();
                                        tb5.Text = tc.StudyStatus;
                                        tb5.SetValue(Grid.ColumnProperty, 5);
                                        tb5.SetValue(Grid.RowProperty, i);

                                        TextBlock tb6 = new TextBlock();
                                        tb6.Text = tc.HealthStatus;
                                        tb6.SetValue(Grid.ColumnProperty, 6);
                                        tb6.SetValue(Grid.RowProperty, i);

                                        TextBlock tb7 = new TextBlock();
                                        tb7.Text = tc.MaritalStatus;
                                        tb7.SetValue(Grid.ColumnProperty, 7);
                                        tb7.SetValue(Grid.RowProperty, i);

                                        TextBlock tb8 = new TextBlock();
                                        tb8.Text = tc.Job;
                                        tb8.SetValue(Grid.ColumnProperty, 8);
                                        tb8.SetValue(Grid.RowProperty, i);

                                        gridChild.Children.Add(tb1);
                                        gridChild.Children.Add(tb2);
                                        gridChild.Children.Add(tb3);
                                        gridChild.Children.Add(tb4);
                                        gridChild.Children.Add(tb5);
                                        gridChild.Children.Add(tb6);
                                        gridChild.Children.Add(tb7);
                                        gridChild.Children.Add(tb8);
                                        i++;
                                    }
                                }

                                pc.Child.DataContext = null;
                                pc.Child.DataContext = f;
                                fd.Pages.Add(pc);
                            }
                        }
                        CreateXPSDocument(fd.DocumentPaginator, FileName);

                        MyMessageBox.Show("تمت الطباعة بنجاح");
                    }
                    catch (Exception ex)
                    {
                        MyMessageBox.Show(ex.Message);
                    }
                }
            }
        }
Beispiel #23
0
        public static void printReport(Order order, BitmapImage bi)
        {
            try
            {
                Family    f          = Family.GetFamilyByID(order.FamilyID.Value);
                Paragraph paragraph3 = new Paragraph();
                paragraph3.FlowDirection = FlowDirection.RightToLeft;
                paragraph3.Inlines.Add(new Bold(new Run(Properties.Settings.Default.VoucherHeaderText)));
                paragraph3.Inlines.Add(new LineBreak());
                paragraph3.Inlines.Add(new LineBreak());
                paragraph3.Inlines.Add(new Run("التاريخ " + order.Date.Value.ToString("dd/MM/yyyy hh:mm")));
                paragraph3.Inlines.Add(new LineBreak());
                paragraph3.Inlines.Add(new Run("المسلم " + User.GetUserNameByID(order.LastUserID)));
                paragraph3.Inlines.Add(new LineBreak());
                paragraph3.Inlines.Add(new Run("رمز العائلة " + f.FamilyCode));
                paragraph3.Inlines.Add(new LineBreak());
                paragraph3.Inlines.Add(new Run("اسم العائلة " + f.FamilyName));
                paragraph3.Inlines.Add(new LineBreak());
                if (order.NextOrderDate.HasValue)
                {
                    paragraph3.Inlines.Add(new Run("الاستلام القادم " + order.NextOrderDate.Value.ToString("dd-MM-yyyy")));
                    paragraph3.Inlines.Add(new LineBreak());
                }
                paragraph3.Inlines.Add(new Underline(new Run("المواد المسلّمة :")));
                paragraph3.Inlines.Add(new LineBreak());

                for (int i = 0; i < order.OIs.Count; i++)
                {
                    var x = order.OIs[i].Item;
                    paragraph3.Inlines.Add(new Run(x.Source + " " + x.Name + "\t (" + order.OIs[i].Quantity + ")"));
                    paragraph3.Inlines.Add(new LineBreak());
                }

                paragraph3.FontFamily = new FontFamily("Arial");
                paragraph3.FontSize   = 16;

                FlowDocumentScrollViewer temp = new FlowDocumentScrollViewer();
                temp.VerticalScrollBarVisibility = ScrollBarVisibility.Disabled;
                FlowDocument myFlowDocument = new FlowDocument();
                temp.FlowDirection           = FlowDirection.RightToLeft;
                myFlowDocument.FlowDirection = FlowDirection.RightToLeft;

                paragraph3.FlowDirection = FlowDirection.RightToLeft;
                paragraph3.Inlines.Add(new Underline(new Run("بصمة المستلم")));
                myFlowDocument.Blocks.Add(paragraph3);
                // myFlowDocument.Blocks.Add(paragraph4);
                myFlowDocument.Blocks.Add(new BlockUIContainer(new Image()
                {
                    Source = bi, Height = 100, Stretch = Stretch.Uniform
                }));

                FlowDocumentReader myFlowDocumentReader = new FlowDocumentReader();
                myFlowDocumentReader.Document = myFlowDocument;

                myFlowDocumentReader.FlowDirection = FlowDirection.RightToLeft;
                temp.Document = myFlowDocument;

                temp.FlowDirection       = FlowDirection.RightToLeft;
                temp.HorizontalAlignment = HorizontalAlignment.Center;
                temp.Width  = 250;
                temp.Height = 285 + (order.OIs.Count * 21);

                PrintDialog pDialog = new PrintDialog();
                pDialog.PageRangeSelection            = PageRangeSelection.AllPages;
                pDialog.UserPageRangeEnabled          = true;
                pDialog.PrintQueue                    = System.Printing.LocalPrintServer.GetDefaultPrintQueue();
                pDialog.PrintTicket                   = pDialog.PrintQueue.DefaultPrintTicket;
                pDialog.PrintTicket.PageScalingFactor = 1;

                Rect printableArea = GetPrintableArea(pDialog);

                Viewbox viewBox = new Viewbox {
                    Child = temp
                };
                printableArea.Height = 285 + (order.OIs.Count * 21);
                printableArea.Width  = 250;

                viewBox.Measure(printableArea.Size);
                viewBox.Arrange(printableArea);
                pDialog.PrintVisual(viewBox, "Letter Canvas");
            }
            catch (Exception ex) { MyMessageBox.Show(ex.Message); }
        }
Beispiel #24
0
        public static User GetUser(string UserName, string Password)
        {
            User          x   = new User();
            SqlConnection con = new SqlConnection(BaseDataBase.ConnectionString);
            SqlCommand    com = new SqlCommand("sp_GetUserByName", con);

            com.CommandType = System.Data.CommandType.StoredProcedure;
            SqlParameter pr = new SqlParameter("@Name", UserName);

            com.Parameters.Add(pr);
            try
            {
                con.Open();
                SqlDataReader rd = com.ExecuteReader();
                if (rd.Read())
                {
                    if (!(rd["ID"] is DBNull))
                    {
                        x.ID = System.Int32.Parse(rd["ID"].ToString());
                    }
                    x.Name     = rd["Name"].ToString();
                    x.Password = rd["Password"].ToString();
                    if (!(rd["IsAdmin"] is DBNull))
                    {
                        x.IsAdmin = System.Boolean.Parse(rd["IsAdmin"].ToString());
                    }
                    if (!(rd["CanAdd"] is DBNull))
                    {
                        x.CanAdd = System.Boolean.Parse(rd["CanAdd"].ToString());
                    }
                    if (!(rd["CanUpdate"] is DBNull))
                    {
                        x.CanUpdate = System.Boolean.Parse(rd["CanUpdate"].ToString());
                    }
                    if (!(rd["CanDelete"] is DBNull))
                    {
                        x.CanDelete = System.Boolean.Parse(rd["CanDelete"].ToString());
                    }
                    if (!(rd["CanPresent"] is DBNull))
                    {
                        x.CanPresent = System.Boolean.Parse(rd["CanPresent"].ToString());
                    }
                    if (!(rd["CanEnterTempFamily"] is DBNull))
                    {
                        x.CanEnterTempFamily = System.Boolean.Parse(rd["CanEnterTempFamily"].ToString());
                    }
                    if (!(rd["CanEnterFamily"] is DBNull))
                    {
                        x.CanEnterFamily = System.Boolean.Parse(rd["CanEnterFamily"].ToString());
                    }
                    if (!(rd["CanUpdateFamily"] is DBNull))
                    {
                        x.CanUpdateFamily = System.Boolean.Parse(rd["CanUpdateFamily"].ToString());
                    }
                    if (!(rd["CanEnterFamilyNeed"] is DBNull))
                    {
                        x.CanEnterFamilyNeed = System.Boolean.Parse(rd["CanEnterFamilyNeed"].ToString());
                    }
                    if (!(rd["CanEnterListerGroup"] is DBNull))
                    {
                        x.CanEnterListerGroup = System.Boolean.Parse(rd["CanEnterListerGroup"].ToString());
                    }
                    if (!(rd["CanMakeStatistics"] is DBNull))
                    {
                        x.CanMakeStatistics = System.Boolean.Parse(rd["CanMakeStatistics"].ToString());
                    }
                    if (!(rd["CanCancelTempFamily"] is DBNull))
                    {
                        x.CanCancelTempFamily = System.Boolean.Parse(rd["CanCancelTempFamily"].ToString());
                    }
                    if (!(rd["CanDeleteTempFamily"] is DBNull))
                    {
                        x.CanDeleteTempFamily = System.Boolean.Parse(rd["CanDeleteTempFamily"].ToString());
                    }
                    if (!(rd["CanCancelFamily"] is DBNull))
                    {
                        x.CanCancelFamily = System.Boolean.Parse(rd["CanCancelFamily"].ToString());
                    }
                    if (!(rd["CanExport"] is DBNull))
                    {
                        x.CanExport = System.Boolean.Parse(rd["CanExport"].ToString());
                    }
                    if (!(rd["CanPrintReports"] is DBNull))
                    {
                        x.CanPrintReports = System.Boolean.Parse(rd["CanPrintReports"].ToString());
                    }
                    if (!(rd["CanUpdateSupport"] is DBNull))
                    {
                        x.CanUpdateSupport = System.Boolean.Parse(rd["CanUpdateSupport"].ToString());
                    }
                    if (!(rd["CanDeleteSupport"] is DBNull))
                    {
                        x.CanDeleteSupport = System.Boolean.Parse(rd["CanDeleteSupport"].ToString());
                    }
                    if (!(rd["IT"] is DBNull))
                    {
                        x.IT = System.Boolean.Parse(rd["IT"].ToString());
                    }
                    if (!(rd["PointAdmin"] is DBNull))
                    {
                        x.PointAdmin = System.Boolean.Parse(rd["PointAdmin"].ToString());
                    }
                    if (!(rd["ReportCreator"] is DBNull))
                    {
                        x.ReportCreator = System.Boolean.Parse(rd["ReportCreator"].ToString());
                    }
                }
                rd.Close();
            }
            catch
            {
                x = null;
                MyMessageBox.Show("خطأفي الاتصال بقاعدة البيانات");
            }
            finally
            {
                con.Close();
            }
            if (x != null && !User.VerifyHash(Password, "SHA512", x.password))
            {
                MyMessageBox.Show("اسم المستخدم أو كلمة المرور غير صحيحة");
                x = null;
            }
            return(x);
        }
Beispiel #25
0
        private void btnWithdrawn_Click(object sender, RoutedEventArgs e)
        {
            var x = DataContext as Orphan;

            if (x.OrphanFamily.FamilyOrphans == null || x.OrphanFamily.FamilyOrphans.Where(c => c.Type != "طالب علم").Count() == 0)
            {
                MyMessageBox.Show("لايوجد ايتام في هذه العائلة");
                return;
            }
            string OrphanNotMached = "";
            bool   CanContinue     = false;
            int    diff            = 30;

            foreach (var o in x.OrphanFamily.FamilyOrphans.Where(c => c.Type != "طالب علم"))
            {
                if (o.Account != null)
                {
                    if (o.CurrentSponsorship == null)
                    {
                        OrphanNotMached += o.FirstName + "\n";
                    }
                    else
                    {
                        CanContinue = true;
                        var t = Transition.GetLastTransitionByAccount(o.Account);
                        if (t != null && t.Id.HasValue)
                        {
                            var diff2 = (BaseDataBase.DateNow - t.CreateDate.Value).Days;
                            if (diff2 < diff)
                            {
                                diff = diff2;
                            }
                        }
                    }
                }
            }
            if (CanContinue)
            {
                if (OrphanNotMached != "" && MyMessageBox.Show($"الايتام التالية غير مكفولة بعد\n{OrphanNotMached}هل تريد الاستمرار؟", MessageBoxButton.YesNo) != MessageBoxResult.Yes)
                {
                    return;
                }
            }
            else
            {
                MyMessageBox.Show("لايوجد اي يتيم مكفول في هذه العائلة");
                return;
            }


            if (diff < 25)
            {
                if (!BaseDataBase.CurrentUser.IsAdmin)
                {
                    MyMessageBox.Show($"اخر دفعة تم تسليمها لليتيم منذ {diff} يوم\nلا يمكن التسليم حاليا");
                    return;
                }
                else if (MyMessageBox.Show($"اخر دفعة تم تسليمها لليتيم منذ {diff} يوم\nهل تريد المتابعة؟", MessageBoxButton.YesNo) != MessageBoxResult.Yes)
                {
                    return;
                }
            }


            Transition_OrphanFamilyWindow w = new Transition_OrphanFamilyWindow(x.OrphanFamily);

            if (w.ShowDialog() == true)
            {
                lvInvoices.ItemsSource = null;
                lvInvoices.ItemsSource = Invoice.GetAllInvoiceByFamilyID(FamilyID);
            }
        }
Beispiel #26
0
        internal bool IsValidate()
        {
            bool isValid = true;

            this.ClearAllErrors();
            if (string.IsNullOrEmpty(Name))
            {
                isValid = false;
                this.SetError("Name", "يجب إدخال الاسم");
            }
            if (string.IsNullOrEmpty(ItemType))
            {
                isValid = false;
                this.SetError("ItemType", "يجب ادخال نوع المادة");
            }
            if (string.IsNullOrEmpty(Source))
            {
                isValid = false;
                this.SetError("Source", "يجب ادخال جهة المادة");
            }
            if (string.IsNullOrEmpty(StandardUnit))
            {
                isValid = false;
                this.SetError("StandardUnit", "يجب ادخال الوحدة القياسية");
            }
            if (!string.IsNullOrEmpty(unit2) && !Unit2Convert.HasValue)
            {
                isValid = false;
                this.SetError("Unit2Convert", "يجب ادخال قيمة التحويل");
            }
            if (!string.IsNullOrEmpty(unit3) && !Unit3Convert.HasValue)
            {
                isValid = false;
                this.SetError("Unit3Convert", "يجب ادخال قيمة التحويل");
            }
            if (IsBasket && BasketItems.Count == 0)
            {
                isValid = false;
                this.SetError("BasketItems", "يجب اختيار المواد المتضمنة بهذه المادة");
            }
            if (MinimumQuantity.HasValue)
            {
                if (MaximumQuantity.HasValue)
                {
                    if (MaximumQuantity.Value < MinimumQuantity.Value)
                    {
                        isValid = false;
                        this.SetError("MaximumQuantity", "الحد الاعلى يجب ان يكون اصغر او يساوي الحد الادنى");
                    }
                    if (WarningQuantity.HasValue && (WarningQuantity.Value < MinimumQuantity.Value || WarningQuantity.Value > MaximumQuantity.Value))
                    {
                        isValid = false;
                        this.SetError("WarningQuantity", "حد التنبيه يجب ان يكون اصغر من الحد الاعلى واكبر من الحد الادنى");
                    }
                }
            }
            else
            {
                if (MaximumQuantity.HasValue)
                {
                    if (WarningQuantity.HasValue && (WarningQuantity.Value > MaximumQuantity.Value))
                    {
                        isValid = false;
                        this.SetError("WarningQuantity", "حد التنبيه يجب ان يكون اصغر من الحد الاعلى");
                    }
                }
            }
            if (MaxQuantityPerOrder.HasValue)
            {
                if (MaxQuantityPerFamily.HasValue && MaxQuantityPerFamily.Value < MaxQuantityPerOrder.Value)
                {
                    isValid = false;
                    this.SetError("MaxQuantityPerFamily", "الحد الاعلى للعائلة يجب ان يكون اكبر او يساوي الحد الاعلى في الامر");
                }
                if (MaxQuantityPerDay.HasValue && MaxQuantityPerDay.Value < MaxQuantityPerOrder.Value)
                {
                    isValid = false;
                    this.SetError("MaxQuantityPerDay", "الحد الاعلى في اليوم يجب ان اكبر اصغر او يساوي الحد الاعلى في الامر");
                }
            }
            if (!isValid)
            {
                string s = "";
                foreach (var item in errors)
                {
                    s += item.Value + "\n";
                }
                MyMessageBox.Show(s);
            }
            return(isValid);
        }
Beispiel #27
0
        internal bool IsValidate()
        {
            bool isValid = true;

            this.ClearAllErrors();
            if (string.IsNullOrEmpty(FirstName))
            {
                isValid = false;
                this.SetError("FirstName", "يجب إدخال الاسم");
            }
            if (string.IsNullOrEmpty(RelationShip))
            {
                isValid = false;
                this.SetError("RelationShip", "يجب اختيار صفة الشخص");
            }
            if (string.IsNullOrEmpty(this.Gender))
            {
                isValid = false;
                this.SetError("Gender", "يجب اختيار الجنس");
            }
            if (!DOB.HasValue)
            {
                isValid = false;
                this.SetError("DOB", "يجب إدخال تاريخ الولادة");
            }

            /*
             * اضافة كود بتاريخ 16-5-2016 بفؤرض تقييد رقم الهاتف
             */
            /* if (Mobile.Length!=10)
             * {
             *   isValid = false;
             * //  this.SetError("Mobile", "يجب التحقق من رقم الموبايل");
             * }
             * if (Phone.Length != 7)
             * {
             *   isValid = false;
             *   //this.SetError("Phone", "يجب التحقق من رقم الهاتف");
             * }*/
            /////////
            if (DOB.HasValue)
            {
                var diff = BaseDataBase.DateNow - DOB.Value;
                if (diff.Days < 0 || diff.Days / 30 / 12 > 120)
                {
                    isValid = false;
                    this.SetError("DOB", "التاريخ غير صالح يجب ادخال عمر صحيح");
                }
            }
            if (!string.IsNullOrEmpty(PID))
            {
                if (!BaseDataBase.IsStringNumber(PID))
                {
                    isValid = false;
                    this.SetError("PID", "الرقم الوطني يجب أن يحوي أرقاماً فقط");
                }
                else
                {
                    string ExistingFamilyCode = BaseDataBase._Scalar_StoredProcedure("sp_GetFamilyCodeByParentPID", new SqlParameter("@ParenttID", null), new SqlParameter("@PID", PID));
                    if (!string.IsNullOrEmpty(ExistingFamilyCode))
                    {
                        isValid = false;
                        this.SetError("PID", "الرقم الوطني موجود في قاعدة البيانات برقم عائلة مثبتة " + ExistingFamilyCode);
                    }
                    else
                    {
                        ExistingFamilyCode = BaseDataBase._Scalar_StoredProcedure("sp_GetTempFamilyCodeByParentPID", new SqlParameter("@TempFamilyID", null), new SqlParameter("@PID", PID));
                        if (!string.IsNullOrEmpty(ExistingFamilyCode))
                        {
                            isValid = false;
                            this.SetError("PID", "الرقم الوطني موجود في قاعدة البيانات برقم عائلة مؤقتة " + ExistingFamilyCode);
                        }
                        else
                        {
                            ExistingFamilyCode = BaseDataBase._Scalar_StoredProcedure("sp_GetFamilyCodeByFamilyPersonPID", new SqlParameter("@FamilyPersonID", FamilyPersonID), new SqlParameter("@PID", PID));
                            if (!string.IsNullOrEmpty(ExistingFamilyCode))
                            {
                                isValid = false;
                                this.SetError("PID", "الرقم الوطني موجود في قاعدة البيانات ضمن افراد عائلة رقم " + ExistingFamilyCode);
                            }
                        }
                    }
                }
            }
            if (!isValid)
            {
                string s = "";
                foreach (var item in errors)
                {
                    s += item.Value + "\n";
                }
                MyMessageBox.Show(s);
            }
            return(isValid);
        }
Beispiel #28
0
        internal bool IsValidate()
        {
            bool isValid = true;

            this.ClearAllErrors();
            if (string.IsNullOrEmpty(Name))
            {
                isValid = false;
                this.SetError("Name", "يجب إدخال الاسم");
            }
            if (string.IsNullOrEmpty(Gender))
            {
                isValid = false;
                this.SetError("Gender", "يجب إدخال الجنس");
            }
            if (DOB.HasValue)
            {
                var diff = BaseDataBase.DateNow - DOB.Value;
                if (diff.Days / 30 / 12 < 12 || diff.Days / 30 / 12 > 120)
                {
                    isValid = false;
                    this.SetError("DOB", "التاريخ غير صالح يجب ادخال عمر صحيح");
                }
            }
            if (string.IsNullOrEmpty(PID))
            {
                isValid = false;
                this.SetError("PID", "يجب إدخال الرقم الوطني");
            }
            else
            {
                if (!BaseDataBase.IsStringNumber(PID))
                {
                    isValid = false;
                    this.SetError("PID", "الرقم الوطني يجب أن يحوي أرقاماً فقط");
                }
                else if (PID.Length < 10 || PID.Length > 12)
                {
                    isValid = false;
                    this.SetError("PID", "الرقم الوطني يجب أن يحوي 10 أو 11 أو 12 رقم");
                }
                else
                {
                    string ExistingFamilyCode = BaseDataBase._Scalar_StoredProcedure("sp_GetFamilyCodeByParentPID", new SqlParameter("@ParenttID", DBNull.Value), new SqlParameter("@PID", PID));
                    if (!string.IsNullOrEmpty(ExistingFamilyCode))
                    {
                        isValid = false;
                        this.SetError("PID", "الرقم الوطني موجود في قاعدة البيانات برقم عائلة " + ExistingFamilyCode);
                    }
                }
            }
            if (!isValid)
            {
                string s = "";
                foreach (var item in errors)
                {
                    s += item.Value + "\n";
                }
                MyMessageBox.Show(s);
            }
            return(isValid);
        }
Beispiel #29
0
                                                   internal bool CanRemove() 

                                                   {
                                                       
 try
            {
                                                           
 string sql = $"select(select count(*) from FormedBasket_Sector where SectorID = {ID}) + (select count(*) from Family where SectorID = {ID})"; 
 var result = BaseDataBase._Scalar(sql); 
 int n; 
                if (int.TryParse(result, out n) && n > 0)

                                                           {
                                                               
                    return(false);
                                                           }
                                                           
                return(true); 

                                                       } 
            catch (Exception ex) { MyMessageBox.Show(ex.Message); return(false); } 

                                                   }
Beispiel #30
0
        private bool ValidateAllItems()
        {
            var o   = this.DataContext as Order;
            var lst = dgSelectedItems.ItemsSource as List <Order_Item>;

            if (o.Type >= 3)//FamilyOrder
            {
                foreach (var item in lst)
                {
                    if (item.Item.MaxQuantityPerOrder.HasValue && item.Quantity > item.Item.MaxQuantityPerOrder)
                    {
                        MyMessageBox.Show($"أعلى كمية ممكن أن تستلمها العائلة من المادة\" {item.Item.Name}\" في اليوم هي " + item.Item.MaxQuantityPerOrder);
                        return(false);
                    }
                    if (item.Item.MaxQuantityPerFamily.HasValue)
                    {
                        double sum = 0;
                        double.TryParse(BaseDataBase._Scalar($"select sum(Quantity) from Order_item where OrderID in (select id from [Order] where IsNull(FamilyID,-1) = {o.FamilyID} and id <> {o.Id ?? -1}) and ItemID = {item.Item.Id}"), out sum);
                        if (sum + item.Quantity > item.Item.MaxQuantityPerFamily)
                        {
                            MyMessageBox.Show($"تم استلام {sum} من المادة \"{item.Item.Name}\"  لهذه العائلة سابقاً\nأعلى كمية ممكن ان تستلمها العائلة بشكل اجمالي هو {item.Item.MaxQuantityPerFamily}");
                            return(false);
                        }
                    }
                    if (item.Item.MaxQuantityPerDay.HasValue)
                    {
                        double sum = 0;
                        double.TryParse(BaseDataBase._Scalar($"select sum(Quantity) from Order_item where OrderID in (select id from [Order] where Type >= 3 and id <> {o.Id ?? -1} and InventoryID = {o.InventoryID} and CONVERT(date, [Date]) = CONVERT(date, GETDATE())) and ItemID = {item.Item.Id}"), out sum);
                        if (sum + item.Quantity > item.Item.MaxQuantityPerDay)
                        {
                            MyMessageBox.Show($"تم تسليم {sum} من المادة \"{item.Item.Name}\" اليوم\nأعلى كمية ممكن تلسيها من هذه المادة في اليوم هو {item.Item.MaxQuantityPerDay }");
                            return(false);
                        }
                    }
                }
            }
            double currentQuantity  = 0;
            double previousQuantity = 0;

            foreach (var item in lst)
            {
                if (o.Id.HasValue)
                {
                    double.TryParse(BaseDataBase._Scalar($"select IsNUll(sum(Quantity),0) from Order_Item where ItemId={item.Item.Id} and OrderID = {o.Id}"), out previousQuantity);
                }
                else
                {
                    previousQuantity = 0;
                }
                double.TryParse(BaseDataBase._Scalar($"select Quantity from Batch_Item where InventoryID = {o.InventoryID} and ItemID = {item.Item.Id}"), out currentQuantity);

                if (o.Type == 1)
                {
                    if (item.Item.MaximumQuantity.HasValue && item.Item.MaximumQuantity < currentQuantity - previousQuantity + item.Quantity)
                    {
                        MyMessageBox.Show($"القيمة الحالية للمادة \"{item.Item.Name}\" هو {currentQuantity}\nبينما الحد الاعلى الممكن ادخاله الى المستودع هو {item.Item.MaximumQuantity}\nلا يمكن الاضافة");
                        return(false);
                    }
                }
                else
                {
                    if (currentQuantity + previousQuantity == 0 || item.Quantity > currentQuantity + previousQuantity)
                    {
                        MyMessageBox.Show($"القيمة الحالية للمادة \"{item.Item.Name}\" هو {currentQuantity}\nلا يمكن الاضافة");
                        return(false);
                    }
                    if (item.Item.MinimumQuantity.HasValue && item.Item.MinimumQuantity > currentQuantity + previousQuantity - item.Quantity)
                    {
                        MyMessageBox.Show($"القيمة الحالية للمادة \"{item.Item.Name}\" هو {currentQuantity}\nبينما الحد الادنى الذي يجب ان يحويه المستودع هو {item.Item.MinimumQuantity}\nلا يمكن الاضافة");
                        return(false);
                    }
                    else if (item.Item.WarningQuantity.HasValue && item.Item.WarningQuantity > currentQuantity + previousQuantity - item.Quantity)
                    {
                        if (!BaseDataBase.CurrentUser.IsAdmin)
                        {
                            MyMessageBox.Show($"القيمة الحالية للمادة \"{item.Item.Name}\" هو {currentQuantity}\nبينما حد التنبيه للمادة هو {item.Item.WarningQuantity}\nلا يمكن الاضافة");
                            return(false);
                        }
                        else
                        {
                            if (MyMessageBox.Show($"القيمة الحالية للمادة \"{item.Item.Name}\" هو {currentQuantity}\nبينما حد التنبيه للمادة هو {item.Item.WarningQuantity}\nهل تريد الاضافة بجميع الاحوال؟", MessageBoxButton.YesNo) != MessageBoxResult.Yes)
                            {
                                return(false);
                            }
                        }
                    }
                }
            }
            return(true);
        }