示例#1
0
        private void AddClick(Pavilion selectedPavilion)
        {
            int startPosition;

            if (selectedPavilion.Number > pavilionToUpdate.Number)
            {
                startPosition = pavilionRepository.GetPavilionPosition(selectedPavilion) - 1;

                pavilionToUpdate.Size++;
                pavilionRepository.Update(pavilionToUpdate);
                pavilionRepository.Delete(selectedPavilion.Id);
            }
            else
            {
                selectedPavilion.Size++;
                pavilionRepository.Update(selectedPavilion);

                shopToUpdate.PavilionId = selectedPavilion.Id;
                shopRepository.Update(shopToUpdate);

                startPosition = pavilionRepository.GetPavilionPosition(pavilionToUpdate) - 1; // if (-1)
                pavilionRepository.Delete(pavilionToUpdate.Id);
            }
            pavilionRepository.SortWithUpdate(startPosition, pavilionRepository.Count - startPosition - 1);

            if (startPosition == -1)
            {
                startPosition++;
            }
            Log.Info(tag, $"startPosToUpdate: {startPosition}, count: {pavilionRepository.Count}");
            var args = new AddPavilionToShopEventsArgs(startPosition, pavilionRepository.Count);

            AddPavilionToShopFinish?.Invoke(this, args);
            Dismiss();
        }
示例#2
0
        private void FillDb()
        {
            if (db.Table <Floor>().CountAsync().Result == 0)
            {
                for (int i = 1; i < FLOORS_COUNT; i++)
                {
                    var floor = new Floor();
                    floor.Number    = i;
                    floor.Size      = 10;
                    floor.EmptySize = PAVILIONS_COUNT;
                    db.InsertAsync(floor).Wait();
                    Log.Info(tag, $"Floor #{i} created");

                    for (int j = 1; j <= PAVILIONS_COUNT; j++)
                    {
                        var pavilion = new Pavilion();
                        pavilion.Size    = 1;
                        pavilion.IsEmpty = true;
                        pavilion.FloorId = i;
                        pavilion.Number  = j + (100 * i);

                        db.InsertAsync(pavilion).Wait();
                        Log.Info("Db", $"Pavilion #{pavilion.Number} created");
                    }
                }
            }
            else
            {
                Log.Info(tag, "Floor there");
            }
        }
示例#3
0
 private void Button_Click_3(object sender, RoutedEventArgs e)
 {
     if (list1.SelectedIndex != -1)
     {
         FormCol dialog = new FormCol();
         if (dialog.ShowDialog() == true)
         {
             var p = db.Pavilions
                     .Where(pa => pa.SEC == list1.SelectedIndex + 1)
                     .Count();
             var pav = db.Pavilions;
             p++;
             for (int i = p; i < p + dialog.number; i++)
             {
                 Pavilion pa = new Pavilion
                 {
                     number = i,
                     name   = "",
                     SEC    = list1.SelectedIndex + 1
                 };
                 pav.Add(pa);
             }
             db.SaveChanges();
             updatePavilion();
         }
         else
         {
             MessageBox.Show("Создание отменено");
         }
     }
 }
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (ValidateChildren(ValidationConstraints.Enabled))
                {
                    if (_currentPavilion == null)
                    {
                        _currentPavilion = new Pavilion {
                            Name = textName.Text
                        };
                        pavilionsBindingSource.Add(_currentPavilion);
                        _context.Pavilions.Add(_currentPavilion);
                    }
                    else
                    {
                        _currentPavilion.Name = textName.Text;
                        pavilionsBindingSource.EndEdit();
                    }


                    _context.SaveChanges();
                    pavilionsBindingSource.ResetBindings(true);
                    _currentPavilion = null;
                    textName.Text    = "";

                    MetroFramework.MetroMessageBox.Show(this, "Success", "Message", MessageBoxButtons.OK,
                                                        MessageBoxIcon.Question);
                }
            }
            catch (Exception ex)
            {
                MetroFramework.MetroMessageBox.Show(this, ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#5
0
        public AddPavilionToShopDialogFragment(DbHelper DAO, Pavilion pavilion)
        {
            pavilionRepository = DAO.CreateRepository <Pavilion>(pavilion.FloorId) as IPavilionRepository;
            shopRepository     = DAO.CreateRepository <Shop>(null) as IShopRepository;

            pavilionToUpdate = pavilion;
            shopToUpdate     = shopRepository.GetShopByPavilion(pavilion);
        }
示例#6
0
 public ShopRegisterFragment(DbHelper DAO, Pavilion pavilion)
 {
     this.DAO       = DAO;
     shopRepository = DAO.CreateRepository <Shop>(null) as IShopRepository;
     pavilionRepository
                   = DAO.CreateRepository <Pavilion>(pavilion.FloorId) as IPavilionRepository;
     this.pavilion = pavilion;
 }
示例#7
0
        public int DeleteByPavilion(Pavilion pavilion)
        {
            var shop = db.Table <Shop>()
                       .FirstOrDefaultAsync(s => s.PavilionId == pavilion.Id)
                       .Result;

            return(base.Delete(shop.Id));
        }
 private void btnEdit_Click(object sender, EventArgs e)
 {
     if (pavilionsBindingSource.Current is Pavilion selectedPavilion)
     {
         _currentPavilion = selectedPavilion;
         textName.Text    = _currentPavilion.Name;
     }
 }
示例#9
0
 private void SetPavilionVisibility(Pavilion pavilion, Shop shop, User user)
 {
     if (pavilion.IsChecked)
     {
         if (pavilion.IsEmpty)
         {
             ShopDetails.Visibility = ViewStates.Gone;
             FilledPavilionFunctional.Visibility = ViewStates.Gone;
             if (user.AccessLevel != AccessLevels.Visitor)
             {
                 EmptyPavilionFunctional.Visibility = ViewStates.Visible;
                 if (user.AccessLevel == AccessLevels.Administrator)
                 {
                     EveryPavilionFunctional.Visibility = ViewStates.Visible;
                 }
             }
             else
             {
                 EmptyPavilionFunctional.Visibility = ViewStates.Gone;
                 EveryPavilionFunctional.Visibility = ViewStates.Gone;
             }
         }
         else
         {
             ShopDetails.Visibility             = ViewStates.Visible;
             EmptyPavilionFunctional.Visibility = ViewStates.Gone;
             if (user.AccessLevel == AccessLevels.Administrator)
             {
                 FilledPavilionFunctional.Visibility = ViewStates.Visible;
                 EveryPavilionFunctional.Visibility  = ViewStates.Visible;
             }
             else if (user.AccessLevel == AccessLevels.Businessman && shop.OwnerId == user.Id)
             {
                 FilledPavilionFunctional.Visibility = ViewStates.Visible;
                 EveryPavilionFunctional.Visibility  = ViewStates.Visible;
             }
             else
             {
                 FilledPavilionFunctional.Visibility = ViewStates.Gone;
                 EveryPavilionFunctional.Visibility  = ViewStates.Gone;
             }
         }
     }
     else
     {
         ShopDetails.Visibility              = ViewStates.Gone;
         EmptyPavilionFunctional.Visibility  = ViewStates.Gone;
         FilledPavilionFunctional.Visibility = ViewStates.Gone;
     }
 }
示例#10
0
            public void BindPavilionView(Pavilion pavilion, Shop shop, User owner, User user)
            {
                PavilionNum.Text = pavilion.Number.ToString();
                if (pavilion.Size <= 3)
                {
                    AddPavilionToShopButton.Enabled = true;
                }
                else
                {
                    AddPavilionToShopButton.Enabled = false;
                }

                if (pavilion.Size > 1)
                {
                    SeparatePavilionButton.Visibility = ViewStates.Visible;
                }
                else
                {
                    SeparatePavilionButton.Visibility = ViewStates.Gone;
                }

                if (!pavilion.IsEmpty)
                {
                    ShopName.Text      = shop.Name;
                    ShopInfo.Text      = "Info: " + shop.Info;
                    ShopSize.Text      = "Size: " + pavilion.Size.ToString();
                    ShopOwnerName.Text = "Owner: " + owner.Name;
                    PavilionNum.SetTextColor(Color.Black);
                }
                else
                {
                    ShopName.Text      = "";
                    ShopInfo.Text      = "";
                    ShopSize.Text      = "";
                    ShopOwnerName.Text = "";
                    PavilionNum.SetTextColor(Color.LightGray);
                }

                SetPavilionVisibility(pavilion, shop, user);
            }
示例#11
0
        private void SpinnerItemSelected()
        {
            int  pavilionNum;
            bool isNum = Int32.TryParse(pavilionsSpinner.SelectedItem.ToString(), out pavilionNum);

            if (isNum)
            {
                selectedPavilion = pavilionRepository.GetByNum(pavilionNum);

                Log.Info(tag, $"selected pavilion num #{selectedPavilion.Number.ToString()}");

                if (selectedPavilion != null)
                {
                    addButton.Enabled = true;
                }
            }
            else
            {
                addButton.Enabled = false;
                Log.Info(tag, "pavilion is not selected");
            }
        }
示例#12
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            ExcelPackage package       = new ExcelPackage();
            string       pathForSaving = "\\Template";
            FileInfo     template      = new FileInfo("myTemplate.xlsx");

            using (package = new ExcelPackage(template, true))
            {
                ExcelWorksheet worksheet = package.Workbook.Worksheets[1];

                Helper  helper = new Helper();
                DataSet data   = helper.GetData();
                int     row    = 3;

                List <Area>     areas     = new List <Area>();
                List <Pavilion> pavilions = new List <Pavilion>();
                foreach (DataRow dataRow in data.Tables["Area"].Rows)
                {
                    Area area = new Area();
                    area.AreaId     = Int32.Parse(dataRow["AreaID"].ToString());
                    area.Name       = dataRow["Name"].ToString();
                    area.FullName   = dataRow["FullName"].ToString();
                    area.PavilionId = Int32.Parse(dataRow["PavilionId"].ToString());
                    areas.Add(area);
                }

                foreach (DataRow dataRow in data.Tables["dic_Pavilion"].Rows)
                {
                    Pavilion pav = new Pavilion();
                    pav.PavilionId = Int32.Parse(dataRow["PavilionID"].ToString());
                    pav.Name       = dataRow["Name"].ToString();

                    pavilions.Add(pav);
                }


                var query = areas.Join(pavilions,
                                       a => a.PavilionId,
                                       p => p.PavilionId,
                                       (a, p) => new
                {
                    a.Name,
                    a.FullName,
                    PavilionName = p.Name
                });

                foreach (var dataRow in query)
                {
                    worksheet.Cells[row, 2].Value = dataRow.Name;
                    worksheet.Cells[row, 3].Value = dataRow.FullName;
                    worksheet.Cells[row, 7].Value = dataRow.PavilionName;
                    row++;
                }

                //foreach(DataRow Datarow in data.Tables["Area"].Rows)
                //{
                //    worksheet.Cells[row, 2].Value = Datarow["Name"];
                //    worksheet.Cells[row, 3].Value = Datarow["FullName"];
                //    //worksheet.Cells[row, 4].Value = Datarow["PavilionName"];
                //    row++;
                //}
                package.SaveAs(new System.IO.FileInfo("demoOut.xlsx"));
            }
        }
示例#13
0
 public Shop GetShopByPavilion(Pavilion pavilion)
 {
     return(db.Table <Shop>()
            .FirstOrDefaultAsync(s => s.PavilionId == pavilion.Id).Result);
 }
示例#14
0
 public PavilionEventsArgs(Pavilion pavilion, int position)
 {
     this.pavilion = pavilion;
     this.position = position;
 }