private void OnClickMenuPastePribor(object sender, RoutedEventArgs e)
 {
     if (Clipboard.ContainsData(DataFormats.Text))
     {
         using (var db = new SmetaApplication.DbContexts.SmetaDbAppContext())
         {
             string   data  = Clipboard.GetText();
             string[] array = Regex.Replace(data, @"\r\n?", ";").Split(';');
             //MessageBox.Show(array.Length.ToString());
             foreach (var item in array)
             {
                 if (!WorkContext.PriborContexts.Where(x => int.Parse(x.Pribor.Code) == int.Parse(item)).Any())
                 {
                     //MessageBox.Show("=" + str + "=");
                     MessageBox.Show("=" + item + "=");
                     foreach (var t in db.Pribors)
                     {
                         MessageBox.Show(t.Code + "=" + int.Parse(item));
                     }
                     ////Pribor pribor = db.Pribors.Where(x => int.Parse(x.Code) == int.Parse(item)).First();
                     //if (pribor != null)
                     //{
                     //    WorkContext.PriborContexts.Add(new PriborContext(pribor));
                     //}
                 }
             }
         }
     }
     else
     {
         MessageBox.Show("Ошибка формата");
     }
 }
 private void LoadOrClear()
 {
     if (size != null && !(Commentaries.Any() && Materials.Any() && Pribors.Any()))
     {
         using (var db = new SmetaApplication.DbContexts.SmetaDbAppContext())
         {
             Materials.Clear();
             db.MaterialGroups.Where(x => x.WorkId == Id).ToList().ForEach(x =>
             {
                 Materials.Add(new MaterialGroupDemView(x, diff + 1));
             });
             Pribors.Clear();
             db.PriborGroups.Where(x => x.WorkId == Id).ToList().ForEach(x =>
             {
                 Pribors.Add(new PriborGroupView(x));
             });
             Commentaries.Clear();
             db.Commentaries.Where(x => x.WorkSectionId == WorkSectionId).ToList().ForEach(x =>
             {
                 Commentaries.Add(new CommentaryView(x));
             });
         }
     }
     else
     {
         Commentaries.Clear();
         Materials.Clear();
         Pribors.Clear();
     }
 }
 private void OnClickContextMenuPasteMaterial(object sender, RoutedEventArgs e)
 {
     if (Clipboard.ContainsData(DataFormats.Text))
     {
         using (var db = new SmetaApplication.DbContexts.SmetaDbAppContext())
         {
             string   data  = Clipboard.GetText();
             string[] array = data.Split('\n');
             //MessageBox.Show(array.Length.ToString());
             foreach (var item in array)
             {
                 string str = item.Replace("\n", "");
                 if (!WorkContext.MaterailContexts.Where(x => int.Parse(x.Material.Code) == int.Parse(str)).Any())
                 {
                     //MessageBox.Show(str);
                     str = int.Parse(str).ToString();
                     Material material = db.Materials.Where(x => int.Parse(x.Code) == int.Parse(str)).FirstOrDefault();
                     if (material != null)
                     {
                         WorkContext.MaterailContexts.Add(new MaterialContext(material));
                     }
                 }
             }
         }
     }
     else
     {
         MessageBox.Show("Ошибка формата");
     }
 }
Esempio n. 4
0
 public PriborGroupView(PriborGroup PriborGroup)
 {
     Id    = PriborGroup.Id;
     count = PriborGroup.Count;
     using (var db = new SmetaApplication.DbContexts.SmetaDbAppContext())
     {
         Pribor = db.Pribors.Where(x => x.Id == PriborGroup.PriborId).SingleOrDefault();
     }
     IsYes = true;
 }
Esempio n. 5
0
        public TeamContext(WorkTeam workTeam)
        {
            this.workTeam = workTeam;

            this.count = workTeam.Count;
            using (var db = new SmetaApplication.DbContexts.SmetaDbAppContext())
            {
                Post = db.Posts.Where(x => x.Id == workTeam.PostId).FirstOrDefault();
            }
            PaybyHour = Post.Pay / 168;
        }
Esempio n. 6
0
        public MaterialGroupDemView(MaterialGroup MaterialGroup, int diff)
        {
            Id           = MaterialGroup.Id;
            ForAllObject = MaterialGroup.ForAllObject;
            Count        = (double)Helper.Count(MaterialGroup, diff);

            using (var db = new SmetaApplication.DbContexts.SmetaDbAppContext())
            {
                Material = db.Materials.Where(x => x.Id == MaterialGroup.MaterialId).SingleOrDefault();
            }
            IsYes = true;
        }
Esempio n. 7
0
        private void SetDefault()
        {
            Time = (double)Helper.Time(Work, Diff);
            // Vaqtni bir soatga to'langan pulga hamma vaqtni ko'paytirib
            if (Diff == 1)
            {
                Work.PricePay *= Time;
            }
            Diffucult = Helper.Diffucults[Diff - 1];
            //if (Diff > 1)
            //{
            using (var db = new SmetaApplication.DbContexts.SmetaDbAppContext())
            {
                // Read Material group
                List <MaterialGroup> list = db.MaterialGroups.ToList().Where(x => x.WorkId == Work.Id).ToList();
                Work.PriceMaterial = 0;
                list.ForEach(x =>
                {
                    var current         = db.Materials.ToList().Where(y => y.Id == x.MaterialId).First();
                    double d            = (double)Helper.Count(x, Diff);
                    Work.PriceMaterial += d * current.Price;
                    Materials.Add(new MaterialMainView()
                    {
                        Count    = d,
                        Material = current,
                        Status   = true
                    });
                });

                // Read Pribor group
                List <PriborGroup> list1 = db.PriborGroups.ToList().Where(x => x.WorkId == Work.Id).ToList();
                Work.PricePribor = 0;
                list1.ForEach(x =>
                {
                    var current       = db.Pribors.ToList().Where(y => y.Id == x.PriborId).First();
                    Work.PricePribor += current.Price * x.Count * current.Percent / 100 / 12 / 30 / 24;
                    //Pribors.Add(new PriborGroupView()
                    //{
                    //    Count = x.Count,
                    //    Pribor = current,
                    //    Status = true
                    //});
                });
            }
            //}
        }
Esempio n. 8
0
        public WorkContext()
        {
            WorkSections = new ObservableCollection <WorkSection>();
            using (var db = new SmetaApplication.DbContexts.SmetaDbAppContext())
            {
                db.WorkSections.ForEach(x =>
                {
                    WorkSections.Add(x);
                });

                workTypes        = db.WorkTypes;
                SelectedWorkType = workTypes[0];
            }

            TeamContexts     = new ObservableCollection <TeamContext>();
            MaterailContexts = new ObservableCollection <MaterialContext>();
            PriborContexts   = new ObservableCollection <PriborContext>();
            Work             = new Work();
        }
 public WindowAddFromPriborList(ObservableCollection <PriborContext> PriborContext)
 {
     InitializeComponent();
     list             = new ObservableCollection <PriborContext>();
     data.ItemsSource = list;
     using (var db = new SmetaApplication.DbContexts.SmetaDbAppContext())
     {
         foreach (var item in db.Pribors)
         {
             PriborContext search = PriborContext.Where(x => x.Pribor.Id == item.Id).FirstOrDefault();
             if (search != null)
             {
                 list.Add(search);
             }
             else
             {
                 list.Add(new PriborContext(item));
             }
         }
     }
 }
 public WindowAddFromMaterialList(ObservableCollection <MaterialContext> MaterialContext)
 {
     InitializeComponent();
     list             = new ObservableCollection <Context.MaterialContext>();
     data.ItemsSource = list;
     using (var db = new SmetaApplication.DbContexts.SmetaDbAppContext())
     {
         foreach (var item in db.Materials)
         {
             MaterialContext search;
             if ((search = MaterialContext.Where(x => x.Material.Id == item.Id).FirstOrDefault()) != null)
             {
                 list.Add(search);
             }
             else
             {
                 list.Add(new MaterialContext(item));
             }
         }
     }
 }
        private void MyCommandExecuted(object sender, ExecutedRoutedEventArgs e)
        {
            if (Clipboard.ContainsData(DataFormats.Text))
            {
                try
                {
                    // get all text
                    string data = Clipboard.GetText();
                    // split to lines
                    string[] array = data.Split('\n');
                    // First line is nomer norma
                    WorkContext.Work.Number = array[0];

                    // Second line is Name of process
                    WorkContext.Work.Name = array[1];
                    // Third line is measure of process without "Измеритель"
                    WorkContext.Work.Measure = array[2].Replace("Измеритель", "");
                    // 4, 5, 6, 7, 8, 9, 10 are useless's lines

                    List <PriborContext> priborContexts = new List <PriborContext>();

                    using (var db = new SmetaApplication.DbContexts.SmetaDbAppContext())
                    {
                        foreach (var item in db.Pribors)
                        {
                            priborContexts.Add(new PriborContext(item));
                        }

                        int  i          = 9;
                        bool IsMaterial = true;
                        for (; IsMaterial && i < array.Length; i++)
                        {
                            int      code;
                            string[] split = array[i].Split('\t');
                            // first column is code of pribor, if it isn't pribor, then set IsMaterial = false
                            //MessageBox.Show(array[i]);
                            if (int.TryParse(split[0], out code))
                            {
                                PriborContext priborContext = priborContexts.Find(x => int.Parse(x.Pribor.Code) == code);

                                if (priborContext == null)
                                {
                                    throw new NullReferenceException("Прибор нет: " + split[0] + " : " + split[1]);
                                }

                                priborContext.PriborGroup.Count = 1;
                                WorkContext.PriborContexts.Add(priborContext);

                                // 2 column is name of pribor
                                // 3 column is measure of pribor
                                // begin from 4
                                if (i == 9)
                                {
                                    double time;
                                    bool   IsBegin = true;
                                    if (double.TryParse(split[3].Replace('.', ','), out time))
                                    {
                                        WorkContext.Work.Time1 = time;
                                    }
                                    else
                                    {
                                        IsBegin = false;
                                    }

                                    if (IsBegin && double.TryParse(split[4].Replace('.', ','), out time))
                                    {
                                        WorkContext.Work.Time2 = time;
                                    }
                                    else
                                    {
                                        IsBegin = false;
                                    }

                                    if (IsBegin && double.TryParse(split[5].Replace('.', ','), out time))
                                    {
                                        WorkContext.Work.Time3 = time;
                                    }
                                    else
                                    {
                                        IsBegin = false;
                                    }

                                    if (IsBegin && double.TryParse(split[6].Replace('.', ','), out time))
                                    {
                                        WorkContext.Work.Time4 = time;
                                    }
                                    else
                                    {
                                        IsBegin = false;
                                    }

                                    if (IsBegin && double.TryParse(split[7].Replace('.', ','), out time))
                                    {
                                        WorkContext.Work.Time5 = time;
                                    }
                                    else
                                    {
                                        IsBegin = false;
                                    }
                                }
                            }
                            else
                            {
                                IsMaterial = false;
                            }
                        }

                        List <MaterialContext> materialContexts = new List <MaterialContext>();
                        foreach (var item in db.Materials)
                        {
                            materialContexts.Add(new MaterialContext(item));
                        }

                        // Materials
                        for (; i < array.Length; i++)
                        {
                            int      code;
                            string[] split = array[i].Split('\t');
                            // first column is code of material, if it isn't material, then for does'nt work
                            //MessageBox.Show(array[i]);
                            if (int.TryParse(split[0], out code))
                            {
                                MaterialContext materialContext = materialContexts.Find(x => int.Parse(x.Material.Code) == code);
                                WorkContext.MaterailContexts.Add(materialContext);

                                if (materialContext == null)
                                {
                                    throw new NullReferenceException("Материал нет: " + split[0] + " : " + split[1]);
                                }

                                // 2 column is name of material
                                // 3 column is measure of material
                                // begin from 4

                                double time;
                                bool   IsBegin = true;
                                //MessageBox.Show(split[3]);
                                if (double.TryParse(split[3].Replace('.', ','), out time))
                                {
                                    materialContext.MaterialGroup.Count1 = time;
                                }
                                else
                                {
                                    IsBegin = false;
                                }

                                if (IsBegin && double.TryParse(split[4].Replace('.', ','), out time))
                                {
                                    materialContext.MaterialGroup.Count2 = time;
                                }
                                else
                                {
                                    IsBegin = false;
                                }

                                if (IsBegin && double.TryParse(split[5].Replace('.', ','), out time))
                                {
                                    materialContext.MaterialGroup.Count3 = time;
                                }
                                else
                                {
                                    IsBegin = false;
                                }

                                if (IsBegin && double.TryParse(split[6].Replace('.', ','), out time))
                                {
                                    materialContext.MaterialGroup.Count4 = time;
                                }
                                else
                                {
                                    IsBegin = false;
                                }

                                if (IsBegin && double.TryParse(split[7].Replace('.', ','), out time))
                                {
                                    materialContext.MaterialGroup.Count5 = time;
                                }
                                else
                                {
                                    IsBegin = false;
                                }
                            }
                        }
                    }
                    //WorkContext.Work.PriceMaterial = WorkContext.MaterailContexts.Sum(x => x.Material.Price * x.MaterialGroup.Count1);
                    //WorkContext.Work.PricePribor = WorkContext.PriborContexts.Sum(x => x.Pribor.Price * x.PriborGroup.Count);
                }
                catch (Exception exc)
                {
                    MessageBox.Show("Ошибка формата: " + exc.ToString());
                }
            }
            else
            {
                MessageBox.Show("Ошибка формата");
            }
        }