Example #1
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            cat.EnableValidation = true;

            if (string.IsNullOrEmpty(cat.Error))
            {
                if (!string.IsNullOrEmpty(file_selected))
                {
                    string ext = Path.GetExtension(file_selected);

                    string fileName = Path.GetRandomFileName() + ext;

                    string fileSavePath = Path.Combine(Directory.GetCurrentDirectory(),
                                                       "images", fileName);

                    var bmp = ResizeImage.ResizeOrigImg(
                        new Bitmap(System.Drawing.Image.FromFile(file_selected)), 75, 75);

                    bmp.Save(fileSavePath, ImageFormat.Jpeg);

                    file_name = fileSavePath;
                }
                var cat_info =
                    new AppCat
                {
                    Name        = tbname.Text,
                    Birth       = (DateTime)bdcat.SelectedDate,
                    Description = tbdesc.Text,
                    Gender      = cbitem.Text.ToString(),
                    Image       = file_name
                };
                cat_info.AppCatPrices = new List <AppCatPrice>
                {
                    new AppCatPrice
                    {
                        CatId      = cat_info.Id,
                        DateCreate = DateTime.Now,
                        Price      = decimal.Parse(tbprice.Text)
                    }
                };

                _cats.Add(new CatVM
                {
                    Id          = cat_info.Id.ToString(),
                    Name        = cat_info.Name,
                    Birthday    = cat_info.Birth,
                    Description = cat_info.Description,
                    Image       = cat_info.Image
                });

                _context.Add(cat_info);
                _context.SaveChanges();

                Close();
            }
            else
            {
                MessageBox.Show(cat.Error);
            }
        }
Example #2
0
        private static void SeedCats(EFDataContext context)
        {
            if (!context.Cats.Any())
            {
                AppCat cat = new AppCat {
                    Name     = "Манул",
                    Details  = "Деталі про манула",
                    Birthday = DateTime.Now,
                    ImgUrl   = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Manoel.jpg/275px-Manoel.jpg",
                };
                context.Cats.Add(cat);
                context.SaveChanges();

                var         firstCat = context.Cats.FirstOrDefault();
                AppCatPrice price    = new AppCatPrice
                {
                    CatId      = firstCat.Id,
                    DateCreate = DateTime.Now,
                    Price      = 500
                };
                context.CatPrices.Add(price);

                context.SaveChanges();
            }
        }
Example #3
0
 /// <summary>
 ///     Метод, який початково заповнює
 ///     БД синхронно
 /// </summary>
 /// <param name="context">Приймає обєкт, який є звязком з БД</param>
 private static void SeedAll(EFContext context)
 {
     //  Перевірка чи БД не пуста
     if (!context.Cats.Any())
     {
         //  Ініціалізація обєкту AppCat
         AppCat cat = new AppCat {
             Name     = "Вася",
             Birthday = DateTime.Now,
             ImgUrl   = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Manoel.jpg/275px-Manoel.jpg",
         };
         //  Запис нового обєкту у БД
         context.Cats.Add(cat);
         //  Збереження змін
         context.SaveChanges();
         //  Ініціалізація нового обєкту AppPrice,
         //  який привязується до елемента AppCat
         AppPrice price = new AppPrice {
             DateCreate = DateTime.Now,
             CatId      = cat.Id,
             Price      = 500
         };
         //  Запис нового обєкту у БД
         context.CatPrices.Add(price);
         //  Збереження змін
         context.SaveChanges();
     }
 }
Example #4
0
        // Збереження нового кота
        private void SaveCat_Click(object sender, RoutedEventArgs e)
        {
            newCat.EnableValidation = true;
            if (string.IsNullOrEmpty(newCat.Error))
            {
                MessageBox.Show("Додавання успішне");
                var extension = Path.GetExtension(FileName);
                var imageName = Path.GetRandomFileName() + extension;
                var dir       = Directory.GetCurrentDirectory();
                var saveDir   = Path.Combine(dir, "images");
                if (!Directory.Exists(saveDir))
                {
                    Directory.CreateDirectory(saveDir);
                }
                var fileSave = Path.Combine(saveDir, imageName);
                File.Copy(FileName, fileSave);

                var cat =
                    new AppCat
                {
                    Name     = tbName.Text,
                    Gender   = _gender,
                    Birthday = (DateTime)dpDate.SelectedDate,
                    Details  = tbDetails.Text,
                    Image    = fileSave
                };
                cat.AppCatPrices = new List <AppCatPrice>
                {
                    new AppCatPrice
                    {
                        CatId      = cat.Id,
                        DateCreate = DateTime.Now,
                        Price      = decimal.Parse(tbPrice.Text)
                    }
                };
                _context.Add(cat);
                _context.SaveChanges();

                _cats.Add(new CatVM
                {
                    Id       = cat.Id,
                    Name     = cat.Name,
                    Birthday = cat.Birthday,
                    Details  = cat.Details,
                    ImageUrl = cat.Image
                });

                this.Close();
            }
            else
            {
                MessageBox.Show(newCat.Error);
            }
        }
Example #5
0
        public IActionResult AppraisalTemplate(string id)
        {
            var orgId = getOrg();

            var  idsplit = id.Split(',');
            Guid ids     = Guid.Parse(idsplit[0]);
            Guid appId   = Guid.Parse(idsplit[1]);

            AppraisalViewTemplateViewModel avtVM = new AppraisalViewTemplateViewModel();

            List <AppCat>       appCat = new List <AppCat>();
            List <AppraisalKPI> kPIs;
            AppCat sAppCat;

            List <Guid> kpiId = new List <Guid>();

            var temp    = _context.AppraisalTemplates.Where(x => x.Id == ids).FirstOrDefault();
            var appCats = _context.AppraisalTemplateCategories.Where(x => x.AppraisalTemplateId == ids).Include(x => x.AppraisalCategory).ToList();
            var kpi     = _context.AppraisalKPIs.Where(x => x.OrganisationId == orgId);

            avtVM.TemplateName = temp.Template;


            AppraisalCategoryEdit ace;

            foreach (var item in appCats)
            {
                sAppCat = new AppCat();
                ace     = new AppraisalCategoryEdit();
                kPIs    = new List <AppraisalKPI>();

                sAppCat.AppraisalTemplateCategory = item;
                ace.AppraisalCategory             = item.AppraisalCategory;
                kPIs = kpi.Where(x => x.AppraisalCategoryId == item.AppraisalCategoryId).ToList();

                kpiId.AddRange(kPIs.Select(x => x.Id));

                ace.AppraisalKPIs             = kPIs;
                sAppCat.AppraisalCategoryEdit = ace;

                appCat.Add(sAppCat);
            }

            avtVM.AppCat   = appCat;
            avtVM.kpiId    = kpiId;
            avtVM.AppTemId = appId;
            return(View(avtVM));
        }
Example #6
0
        private void AddCats()
        {
            ParallelOptions parOpt = new ParallelOptions();

            parOpt.MaxDegreeOfParallelism = System.Environment.ProcessorCount;
            parOpt.CancellationToken      = tokenSource.Token;
            Parallel.Invoke(parOpt, new Action(() => {
                for (int i = 1; i <= _result; i++)
                {
                    try
                    {
                        parOpt.CancellationToken.ThrowIfCancellationRequested();
                        Dispatcher.Invoke(new Action(() =>
                        {
                            this.catProgres.Value = i;
                        }));
                        Thread.Sleep(300);
                        CatModel model = faker.Generate();
                        AppCat cat     = new AppCat {
                            Name     = model.Name,
                            ImgUrl   = model.ImgUrl,
                            Details  = model.Details,
                            Birthday = model.Birthday,
                        };
                        _context.Cats.Add(cat);
                        _context.SaveChanges();

                        AppCatPrice price = new AppCatPrice {
                            DateCreate = DateTime.Now,
                            CatId      = cat.Id,
                            Price      = model.Price
                        };
                        _context.CatPrices.Add(price);
                        _context.SaveChanges();
                    }
                    catch
                    {
                        return;
                    }
                }
            }));
        }
Example #7
0
        public void InsertCats(int count, ManualResetEvent mrse)
        {
            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();

            for (int i = 0; i < count; i++)
            {
                mrse.WaitOne();
                if (CanselAsyncMethod)
                {
                    CanselAsyncMethod = false;
                    break;
                }
                AppCat appCat = new AppCat
                {
                    Name     = "Name" + i,
                    Birthday = DateTime.Now,
                    Details  = "asdfaf",
                    Gender   = true,
                    Image    = "Image"
                };
                _context.Cats.Add(appCat);
                _context.SaveChanges();
                //if (EventInsertItem != null)
                //    EventInsertItem(i+1);
                EventInsertItem?.Invoke(i + 1);
                Debug.WriteLine("Insert cat " + appCat.Id);
            }
            ;

            stopWatch.Stop();
            // Get the elapsed time as a TimeSpan value.
            TimeSpan ts = stopWatch.Elapsed;

            // Format and display the TimeSpan value.
            string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
                                               ts.Hours, ts.Minutes, ts.Seconds,
                                               ts.Milliseconds / 10);

            Debug.WriteLine("Час додавання котів: " + elapsedTime);
        }
        public IActionResult ViewTemplate(Guid id)
        {
            var orgId = getOrg();

            AppraisalViewTemplateViewModel avtVM = new AppraisalViewTemplateViewModel();

            List <AppCat>       appCat = new List <AppCat>();
            List <AppraisalKPI> kPIs;
            AppCat sAppCat;

            var temp    = _context.AppraisalTemplates.Where(x => x.Id == id).FirstOrDefault();
            var appCats = _context.AppraisalTemplateCategories.Where(x => x.AppraisalTemplateId == id).Include(x => x.AppraisalCategory).ToList();
            var kpi     = _context.AppraisalKPIs.Where(x => x.OrganisationId == orgId);

            avtVM.TemplateName = temp.Template;


            AppraisalCategoryEdit ace;

            foreach (var item in appCats)
            {
                sAppCat = new AppCat();
                ace     = new AppraisalCategoryEdit();
                kPIs    = new List <AppraisalKPI>();

                sAppCat.AppraisalTemplateCategory = item;
                ace.AppraisalCategory             = item.AppraisalCategory;
                kPIs = kpi.Where(x => x.AppraisalCategoryId == item.AppraisalCategoryId).ToList();


                ace.AppraisalKPIs             = kPIs;
                sAppCat.AppraisalCategoryEdit = ace;

                appCat.Add(sAppCat);
            }

            avtVM.AppCat = appCat;
            return(View(avtVM));
        }
Example #9
0
        /// <summary>
        /// Додавання котів в базу Богусом.
        /// </summary>
        public void AddCat(int count, ManualResetEvent mrse)
        {
            //Ліст згенерованих даних Богусом.
            List <AppCat> cat = new List <AppCat>();

            //Новий створений Ліст,куди будуть додаватись коти в процесі додавання в БД(але без запису в БД!).
            // List<AppCat> check = new List<AppCat>();

            //Змінні необхідні для заповнення Богусом.
            DateTime start = new DateTime(1998, 03, 05);
            DateTime end   = new DateTime(2020, 12, 30);

            //Знаходжу найбільший Айді кота,тобто останній доданий.
            int idvalue = context.Cats.Max(z => z.Id);

            //Збільшую на 1,щоб уникнути повтора праймері кі,тобто щоб не було виключення.
            int newval = idvalue + 1;

            //Генерація даних Богусом.
            var catss = new Faker <AppCat>("uk")
                        .RuleFor(x => x.Id, f => newval++)
                        .RuleFor(x => x.Name, f => f.Lorem.Word())
                        .RuleFor(x => x.Birth, f => f.Date.Between(start, end))
                        .RuleFor(x => x.Description, f => f.Lorem.Text())
                        .RuleFor(x => x.Gender, f => f.Person.Gender.ToString());


            //додавання в Ліст згенероаних даних,відповідно до вказаної кількості.
            for (int i = 0; i < count; i++)
            {
                cat.Add(catss.Generate());
            }


            //початок відліку часу,витраченого на додавання котів.
            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();
            using var transaction = context.Database.BeginTransaction();
            {
                try
                {
                    for (int j = 0; j < cat.Count; j++)
                    {
                        mrse.WaitOne();

                        //якщо натиснута кнопка СТОП,виходимо і кнопка стане не активна.
                        if (IsCancelled)
                        {
                            break;
                        }

                        //Додавання котів в БД.
                        AppCat appCat = new AppCat
                        {
                            Id          = cat[j].Id,
                            Name        = cat[j].Name,
                            Birth       = cat[j].Birth,
                            Description = cat[j].Description,
                            Gender      = cat[j].Gender,
                            Image       = cat[j].Image
                        };
                        context.Cats.Add(appCat);
                        context.SaveChanges();
                        //кожен доданий кіт додається в цей створений Ліст.
                        // check.Add(appCat);

                        AddNewCatItem?.Invoke(j + 1);
                        Debug.WriteLine("Insert cat " + appCat.Id);
                        //Debug.WriteLine("check-" + check.Count);
                        //Debug.WriteLine("cat-" + count);
                        Thread.Sleep(2000);
                    }

                    //Перевірка кількості елементів в Лісті з котами і вказаною для додавання кількістю котів.
                    //Debug.WriteLine("check-" + check.Count);
                    Debug.WriteLine("cat-" + count);

                    //Якщо вони будуть рівні,то коти з Ліст чек,будуть записані в базу.
                    //if (check.Count == cat.Count)
                    //{
                    //    foreach (var item in check)
                    //    {
                    //        //Якщо вони рівні,тобто в Ліст потрапила та кількість котів,що ми хотіли додати,
                    //        //то кожен з них записується і зберігається в БД.
                    //        context.Cats.Add(item);
                    //        context.SaveChanges();
                    //    }
                    //}


                    //Кінець підрахунку часу,витраченого на додавання.
                    stopWatch.Stop();
                    TimeSpan ts = stopWatch.Elapsed;

                    //Отримали час.
                    string elapsedTime = string.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds,
                                                       ts.Milliseconds / 10);

                    //Вивели.
                    Debug.WriteLine("Час додавання котів: " + elapsedTime);

                    if (!IsCancelled)
                    {
                        transaction.Commit();
                    }
                }
                catch
                {
                    transaction.Rollback();
                }
            }
        }