private void dgTempFamilys_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (dgTempFamilys.SelectedItem != null) { e.Handled = true; var id = (int)(dgTempFamilys.SelectedItem as DataRowView)["ID"]; TempFamily tf = TempFamily.GetTempFamilyByID(id); if (tf.IsCancelled) { MyMessageBox.Show("لا يمكن تعديل بيانات العائلة لأنه تم إلغاؤها\n\nالسبب : \n" + tf.CancelReason); return; } if (!tf.FamilyID.HasValue) { if (!BaseDataBase.CurrentUser.CanEnterTempFamily) { MyMessageBox.Show("ليس لديك صلاحية تعديل بيانات عائلة مؤقتة"); return; } string Header = "مؤقت : " + tf.FamilyCode + " " + tf.FamilyName; MainWindow m = App.Current.MainWindow as MainWindow; if (m.CheckTabControl(Header)) { TabItem ti = new TabItem(); ti.Header = Header; var tfc = new TempFamilyControl(tf); ti.Content = tfc; m.SendTabItem(ti); } } else { if (MyMessageBox.Show("تم تثبيت هذه العائلة \nهل تريد الانتقال الى البيانات التفصيليلة لها", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { if (!BaseDataBase.CurrentUser.CanUpdateFamily) { MyMessageBox.Show("ليس لديك صلاحية الانتقال للبيانات التفصيلية"); return; } var f = Family.GetFamilyByID(tf.FamilyID.Value); string Header = f.FamilyCode + " " + f.FamilyName; MainWindow m = App.Current.MainWindow as MainWindow; if (m.CheckTabControl(Header)) { TabItem ti = new TabItem(); ti.Header = Header; ti.Content = new AddFamilyControlHilal(f.FamilyID.Value); m.SendTabItem(ti); } } } } }
public AddFamilyControlHilal(int FamilyID) { InitializeComponent(); var f = Family.GetFamilyByID(FamilyID); cFamily.DataContext = f; FillData(f); btnUpdate.Visibility = System.Windows.Visibility.Visible; btnExecute.Visibility = System.Windows.Visibility.Collapsed; if (BaseDataBase.CurrentUser.IsAdmin) { btnUserDetails.Visibility = System.Windows.Visibility.Visible; } }
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 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); } } } }
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); } }
public static void printReportNew(Order order) { Family f = Family.GetFamilyByID(order.FamilyID.Value); TextBlock tb = new TextBlock(); tb.FontFamily = new System.Windows.Media.FontFamily("Arial"); tb.Inlines.Add(new Bold(new Run("جمعية الإحسان الخيرية التنموية بحلب"))); tb.Inlines.Add(new LineBreak()); tb.Inlines.Add(new LineBreak()); tb.Inlines.Add(new Run("التاريخ " + order.Date.Value.ToString("dd/MM/yyyy hh:mm"))); tb.Inlines.Add(new LineBreak()); tb.Inlines.Add(new Run("المسلم " + User.GetUserNameByID(order.LastUserID))); tb.Inlines.Add(new LineBreak()); tb.Inlines.Add(new Run("رمز العائلة " + f.FamilyCode)); tb.Inlines.Add(new LineBreak()); tb.Inlines.Add(new Run("اسم العائلة " + f.FamilyName)); tb.Inlines.Add(new LineBreak()); if (order.NextOrderDate.HasValue) { tb.Inlines.Add(new Run("الاستلام القادم " + order.NextOrderDate.Value.ToString("dd-MM-yyyy"))); tb.Inlines.Add(new LineBreak()); } tb.Inlines.Add(new Underline(new Run("المواد المسلّمة :"))); tb.Inlines.Add(new LineBreak()); // Add some Bold text to the paragraph for (int i = 0; i < order.OIs.Count; i++) { var x = order.OIs[i].Item; tb.Inlines.Add(new Run(x.Source + " " + x.Name + "\t (" + order.OIs[i].Quantity + ")")); tb.Inlines.Add(new LineBreak()); } tb.Margin = new Thickness(5, 2, 5, 2); tb.FontSize = 12; Grid g = new Grid(); g.FlowDirection = FlowDirection.RightToLeft; g.Children.Add(tb); // 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 = g; System.Windows.Size sz = new System.Windows.Size(capabilities.PageImageableArea.ExtentWidth, capabilities.PageImageableArea.ExtentHeight); 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 = Math.Min(capabilities.PageImageableArea.ExtentWidth / vb.ActualWidth, capabilities.PageImageableArea.ExtentHeight / vb.ActualHeight); vb.LayoutTransform = new ScaleTransform(scale, scale); pDialog.PrintVisual(vb, "MyViewBox"); }
private void btnUpdate_Click(object sender, RoutedEventArgs e) { if (radOrphans.IsChecked == true && dgOrphans.SelectedIndex != -1) { var drv = dgOrphans.SelectedItem as DataRowView; MainWindow m = App.Current.MainWindow as MainWindow; m.SendTabItem(new TabItem() { Header = drv[1].ToString(), Content = new OrphanDetailsControl(Orphan.GetOrphanByID((int)drv[0])) }); } else if (radFamilies.IsChecked == true && dgFamily.SelectedIndex != -1) { var drv = dgFamily.SelectedItem as DataRowView; MainWindow m = App.Current.MainWindow as MainWindow; m.SendTabItem(new TabItem() { Header = drv["FamilyName"].ToString(), Content = new OrphanDetailsControl(Family.GetFamilyByID((int)drv[0])) }); } }
public static List <Orphan> GetAllOrphan(bool ContainFamilyData = false) { List <Orphan> xx = new List <Orphan>(); SqlConnection con = new SqlConnection(BaseDataBase.ConnectionString); SqlCommand com = new SqlCommand("sp_Get_All_Orphan", con); com.CommandType = System.Data.CommandType.StoredProcedure; try { con.Open(); SqlDataReader rd = com.ExecuteReader(); while (rd.Read()) { Orphan x = new Orphan(); if (!(rd["OrphanID"] is DBNull)) { x.OrphanID = int.Parse(rd["OrphanID"].ToString()); } if (!(rd["FamilyID"] is DBNull) && ContainFamilyData) { x.OrphanFamily = Family.GetFamilyByID(int.Parse(rd["FamilyID"].ToString())); } x.FirstName = rd["FirstName"].ToString(); x.LastName = rd["LastName"].ToString(); x.Gender = rd["Gender"].ToString(); x.BirthPlace = rd["BirthPlace"].ToString(); if (!(rd["DOB"] is DBNull)) { x.DOB = DateTime.Parse(rd["DOB"].ToString()); } x.Nationality = rd["Nationality"].ToString(); x.PID = rd["PID"].ToString(); x.Mobile = rd["Mobile"].ToString(); x.Email = rd["Email"].ToString(); x.Notes = rd["Notes"].ToString(); x.Image = rd["Image"].ToString(); if (!(rd["Tall"] is DBNull)) { x.Tall = int.Parse(rd["Tall"].ToString()); } if (!(rd["Weight"] is DBNull)) { x.Weight = int.Parse(rd["Weight"].ToString()); } if (!(rd["FeetSize"] is DBNull)) { x.FeetSize = int.Parse(rd["FeetSize"].ToString()); } if (!(rd["WaistSize"] is DBNull)) { x.WaistSize = int.Parse(rd["WaistSize"].ToString()); } x.Status = rd["Status"].ToString(); x.Type = rd["Type"].ToString(); xx.Add(x); } rd.Close(); } catch { xx = null; } finally { con.Close(); } return(xx); }
public static Orphan GetOrphanByID(int id, Family f = null) { Orphan x = new Orphan(); SqlConnection con = new SqlConnection(BaseDataBase.ConnectionString); SqlCommand com = new SqlCommand("sp_Get_ID_Orphan", con); com.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter pr = new SqlParameter("@ID", id); com.Parameters.Add(pr); try { con.Open(); SqlDataReader rd = com.ExecuteReader(); if (rd.Read()) { if (!(rd["OrphanID"] is DBNull)) { x.OrphanID = int.Parse(rd["OrphanID"].ToString()); } x.OrphanFamily = f == null?Family.GetFamilyByID(int.Parse(rd["FamilyID"].ToString())) : f; x.FirstName = rd["FirstName"].ToString(); x.LastName = rd["LastName"].ToString(); x.Gender = rd["Gender"].ToString(); x.BirthPlace = rd["BirthPlace"].ToString(); if (!(rd["DOB"] is DBNull)) { x.DOB = DateTime.Parse(rd["DOB"].ToString()); } x.Nationality = rd["Nationality"].ToString(); x.PID = rd["PID"].ToString(); x.Mobile = rd["Mobile"].ToString(); x.Email = rd["Email"].ToString(); x.Notes = rd["Notes"].ToString(); x.Image = rd["Image"].ToString(); if (!(rd["Tall"] is DBNull)) { x.Tall = int.Parse(rd["Tall"].ToString()); } if (!(rd["Weight"] is DBNull)) { x.Weight = int.Parse(rd["Weight"].ToString()); } if (!(rd["FeetSize"] is DBNull)) { x.FeetSize = int.Parse(rd["FeetSize"].ToString()); } if (!(rd["WaistSize"] is DBNull)) { x.WaistSize = int.Parse(rd["WaistSize"].ToString()); } x.Status = rd["Status"].ToString(); x.Type = rd["Type"].ToString(); } rd.Close(); } catch (Exception ex) { x = null; } finally { con.Close(); } return(x); }
private void btnGoToFamily_Click(object sender, RoutedEventArgs e) { var o = (Orphan)this.DataContext; MainWindow m = App.Current.MainWindow as MainWindow; m.SendTabItem(new TabItem() { Header = o.OrphanFamily.FamilyName, Content = new OrphanDetailsControl(Family.GetFamilyByID(o.OrphanFamily.FamilyID.Value)) }); }