예제 #1
0
        public EditRepairForm(StartupTypeForm startupTypeForm, int id = 0)
        {
            InitializeComponent();

            _startupTypeForm = startupTypeForm;
            Text             = _startupTypeForm.ToString();

            using (var db = new ModelsContext())
            {
                comboBoxTypeRepair.DataSource    = db.TypeRepairs.ToList();
                comboBoxTypeRepair.DisplayMember = "Name";
                comboBoxTypeRepair.ValueMember   = "Name";
            }

            if (id != 0)
            {
                using (var db = new ModelsContext())
                {
                    var repair = db.Repairs.First(x => x.Id == id);
                    db.TypeRepairs.ToList();

                    _repairId = repair.Id;
                    textBoxNameRepair.Text             = repair.NameRepair;
                    richTextBoxNotes.Text              = repair.Notes;
                    comboBoxTypeRepair.Text            = repair.TypeRepair.Name;
                    dateTimePickerStartDate.Value      = repair.StartDate;
                    dateTimePickerExpirationDate.Value = repair.ExpirationDate;
                }
            }
        }
예제 #2
0
        public async Task <ActionResult> UpdateAsync([FromBody] QuestionDto questionDto)
        {
            var questionDbo = await ModelsContext.Questions
                              .Include(q => q.Test)
                              .FirstOrDefaultAsync(q => q.Id == questionDto.Id && q.State != EntityState.Deleted);

            if (questionDbo == null)
            {
                return(BadRequest("Question does not exist"));
            }

            var user = await GetUser();

            if (questionDbo.Test.Owner?.Id != user.Id)
            {
                return(Forbid());
            }

            questionDbo.Question = questionDto.Question;
            questionDbo.Answer   = questionDto.Answer;
            ModelsContext.Update(questionDbo);
            await ModelsContext.SaveChangesAsync();

            return(Ok());
        }
예제 #3
0
        public ProjectServiceTests()
        {
            teamService = A.Fake <ITeamService>();
            userService = A.Fake <IUserService>();

            var profiles = new List <Profile>()
            {
                new ProjectProfile(),
                new UserProfile(),
                new TaskProfile(),
                new TeamProfile()
            };
            var configuration = new MapperConfiguration(cfg => cfg.AddProfiles(profiles));

            mapper = new Mapper(configuration);

            var dbContextOptions =
                new DbContextOptionsBuilder <ModelsContext>().UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString());

            context = new ModelsContext(dbContextOptions.Options);

            unitOfWork = new UnitOfWork(context);

            projectService = new ProjectService(unitOfWork, mapper, teamService, userService);
        }
예제 #4
0
        private void dataGridViewAttachments_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                var j = e.RowIndex;

                if (dataGridViewAttachments[3, j].Value.ToString() != "+")
                {
                    return;
                }

                var id = Convert.ToInt32(dataGridViewAttachments.CurrentRow.Cells[0].Value.ToString());
                using (var db = new ModelsContext())
                {
                    var attachment = db.Attachments.First(x => x.Id == id);
                    var tempName   = Path.Combine(Path.GetTempPath() + attachment.FileName);
                    if (attachment.File != null)
                    {
                        File.WriteAllBytes(tempName, attachment.File);
                        Process.Start(tempName);
                    }
                }
            }
            catch (Exception)
            {
                // ignored
            }
        }
예제 #5
0
        private void comboBoxCategory_SelectedValueChanged(object sender, EventArgs e)
        {
            if (comboBoxCategory.Text.Contains("Все"))
            {
                comboBoxType.Enabled = false;
                return;
            }

            try
            {
                using (var db = new ModelsContext())
                {
                    db.ItemCategories.ToList();
                    var itemCategory = db.ItemCategories.First(x => x.Name == comboBoxCategory.Text);
                    var typeItems    = db.TypeItems.Where(x => x.ItemCategory.ItemCategoryId == itemCategory.ItemCategoryId).ToList();

                    typeItems.Insert(0, new TypeItem {
                        Id = 0, Name = "Все"
                    });

                    comboBoxType.DataSource    = typeItems;
                    comboBoxType.DisplayMember = "Name";
                    comboBoxType.ValueMember   = "Id";
                }
                comboBoxType.Enabled = true;
            }
            catch (Exception)
            {
                // ignored
            }
        }
예제 #6
0
        private void buttonAddAttachment_Click(object sender, EventArgs e)
        {
            if (!ValidateMadeBy())
            {
                return;
            }

            var fileMsg = (_fileData != null ? string.Empty : "(файл не добавлен)");

            if (MessageBox.Show(string.Join(string.Empty, "Действительно добавить", fileMsg, "?"),
                                "Подтвердите действие", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                using (var db = new ModelsContext())
                {
                    var attachment = new Attachment
                    {
                        MadeBy    = double.Parse(textBoxMadeBy.Text),
                        PaymentId = _accounting.PaymentId
                    };

                    if (_fileData != null)
                    {
                        attachment.FileName = _fileName;
                        attachment.File     = _fileData;
                    }

                    db.Attachments.Add(attachment);
                    db.SaveChanges();

                    LoadAttachments(_accounting);
                }
            }
        }
예제 #7
0
        public async Task <ActionResult> AddAsync(Guid testId)
        {
            var user = await GetUser();

            var test = await ModelsContext.Tests
                       .FirstOrDefaultAsync(t => t.Id == testId && t.State != EntityState.Deleted);

            if (test == null)
            {
                return(BadRequest("Test does not exist"));
            }

            if (test.Owner?.Id != user.Id)
            {
                return(Forbid());
            }

            var question = new QuestionDbo {
                Test = test
            };

            ModelsContext.Add(question);
            await ModelsContext.SaveChangesAsync();

            return(Ok(question.Id));
        }
예제 #8
0
        private void removeRepairToolStripMenuItem_Click(object sender, System.EventArgs e)
        {
            if (MessageBox.Show(
                    "Удалить ремонт?",
                    "Подтвердите действие", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                using (var db = new ModelsContext())
                {
                    var idRepair = _repair.Id;

                    var repirItem   = db.RepairItems.FirstOrDefault(x => x.RepairId == idRepair);
                    var repirMaster = db.RepairMasters.FirstOrDefault(x => x.RepairId == idRepair);
                    if (repirItem != null || repirMaster != null)
                    {
                        if (MessageBox.Show(
                                "Ремонт заполнен предметами и/или местерами. Все равно удалить?",
                                "Действительно удалить?", MessageBoxButtons.OKCancel) != DialogResult.OK)
                        {
                            return;
                        }
                    }

                    var currentRepair = db.Repairs.FirstOrDefault(x => x.Id == idRepair);
                    if (currentRepair != null)
                    {
                        db.Repairs.Remove(currentRepair);
                        db.SaveChanges();
                        Close();
                        return;
                    }

                    MessageBox.Show("Удаление невозможно в силу непредвиденных обстоятельств.");
                }
            }
        }
예제 #9
0
        private void buttonRemoveItem_Click(object sender, System.EventArgs e)
        {
            try
            {
                if (dataGridViewItems.SelectedRows.Count > 1)
                {
                    DeleteItemRows();
                    return;
                }

                var currentItemRepairId = dataGridViewItems.CurrentRow.Cells[0].Value.ToString();
                var repairItemId        = int.Parse(currentItemRepairId);
                if (MessageBox.Show("Действительно удалить предметы?",
                                    "Подтвердите действие", MessageBoxButtons.OKCancel) != DialogResult.OK)
                {
                    return;
                }

                using (var db = new ModelsContext())
                {
                    var repairItem = db.RepairItems.First(x => x.Id == repairItemId);
                    db.RepairItems.Remove(repairItem);
                    db.SaveChanges();
                }

                LoadRepairItems();
            }
            catch (NullReferenceException)
            {
                MessageBox.Show("Выделите строку для редактирования предмета.");
            }
        }
예제 #10
0
        private void buttonEditMaster_Click(object sender, System.EventArgs e)
        {
            try
            {
                var currentMasterRepairId = dataGridViewMasters.CurrentRow.Cells[0].Value.ToString();

                var inputBox = new InputBox.InputBox("Количество дней работы", "Введите количество: ", dataGridViewMasters.CurrentRow.Cells[4].Value.ToString(), true);

                var valueInputBox = inputBox.ToString();
                if (string.IsNullOrEmpty(valueInputBox) || int.Parse(valueInputBox) == 0)
                {
                    buttonRemoveMaster_Click(sender, e);
                    return;
                }

                using (var db = new ModelsContext())
                {
                    var masterRepairId = int.Parse(currentMasterRepairId);
                    var dayOfWorks     = int.Parse(valueInputBox);

                    var repairMaster = db.RepairMasters.FirstOrDefault(x => x.Id == masterRepairId);
                    repairMaster.DaysOfWork = dayOfWorks;

                    db.SaveChanges();
                }

                LoadRepairMasters();
            }
            catch (NullReferenceException)
            {
                MessageBox.Show("Выделите строку для редактирования предмета.");
            }
        }
예제 #11
0
        private void LoadFields()
        {
            using (var db = new ModelsContext())
            {
                var itemCategories = db.ItemCategories.ToList();
                itemCategories.Insert(0, new ItemCategory {
                    ItemCategoryId = 0, Name = "Все"
                });

                comboBoxCategory.DataSource    = itemCategories;
                comboBoxCategory.DisplayMember = "Name";
                comboBoxCategory.ValueMember   = "ItemCategoryId";

                var shops = db.Shops.ToList();
                shops.Insert(0, new Shop {
                    Id = 0, Name = "Все"
                });

                comboBoxShop.DataSource    = shops;
                comboBoxShop.DisplayMember = "Name";
                comboBoxShop.ValueMember   = "Id";

                comboBoxType.Text         = "Все";
                comboBoxWarrantyUpTo.Text = "Любая";
            }
        }
예제 #12
0
        private void buttonEditItem_Click(object sender, System.EventArgs e)
        {
            try
            {
                var currentItemRepairId = dataGridViewItems.CurrentRow.Cells[0].Value.ToString();

                var inputBox = new InputBox.InputBox("Количество предметов", "Введите количество: ", dataGridViewItems.CurrentRow.Cells[5].Value.ToString(), true);

                var valueInputBox = inputBox.ToString();
                if (string.IsNullOrEmpty(valueInputBox) || int.Parse(valueInputBox) == 0)
                {
                    buttonRemoveItem_Click(sender, e);
                    return;
                }

                using (var db = new ModelsContext())
                {
                    var itemRepairId = int.Parse(currentItemRepairId);
                    var amountItem   = int.Parse(valueInputBox);

                    var repairItem = db.RepairItems.FirstOrDefault(x => x.Id == itemRepairId);
                    repairItem.AmountItem = amountItem;

                    db.SaveChanges();
                }

                LoadRepairItems();
            }
            catch (NullReferenceException)
            {
                MessageBox.Show("Выделите строку для редактирования предмета.");
            }
        }
예제 #13
0
        private void DeleteItemRows()
        {
            if (MessageBox.Show("Действительно удалить выделенные предметы?",
                                "Подтвердите действие", MessageBoxButtons.OKCancel) != DialogResult.OK)
            {
                return;
            }

            try
            {
                foreach (DataGridViewRow dataGridViewRow in dataGridViewItems.SelectedRows)
                {
                    var currentItemRepairId = dataGridViewRow.Cells[0].Value.ToString();

                    var repairItemId = int.Parse(currentItemRepairId);

                    using (var db = new ModelsContext())
                    {
                        var repairItem = db.RepairItems.First(x => x.Id == repairItemId);
                        db.RepairItems.Remove(repairItem);
                        db.SaveChanges();
                    }
                }
            }
            catch (ArgumentOutOfRangeException)
            {
            }

            LoadRepairItems();
        }
예제 #14
0
        private void dataGridViewMasters_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
        {
            try
            {
                if (dataGridViewMasters.SelectedRows.Count > 1)
                {
                    DeleteMasterRows();
                    e.Cancel = true;
                    return;
                }

                var currentMasterRepairId = dataGridViewMasters.CurrentRow.Cells[0].Value.ToString();

                var repairMasterId = int.Parse(currentMasterRepairId);
                if (MessageBox.Show("Действительно удалить мастера?",
                                    "Подтвердите действие", MessageBoxButtons.OKCancel) != DialogResult.OK)
                {
                    e.Cancel = true;
                    return;
                }

                using (var db = new ModelsContext())
                {
                    var repairMaster = db.RepairMasters.First(x => x.Id == repairMasterId);
                    db.RepairMasters.Remove(repairMaster);
                    db.SaveChanges();

                    LoadRepairMasters();
                }
            }
            catch (NullReferenceException)
            {
                MessageBox.Show("Выделите строку для редактирования предмета.");
            }
        }
예제 #15
0
 private void comboBoxService_SelectedIndexChanged(object sender, EventArgs e)
 {
     using (var db = new ModelsContext())
     {
         labelWarningAccess.Text =
             "Доступно для: " + db.Services.First(x => x.Name == comboBoxService.Text).Access;
     }
 }
예제 #16
0
        private void LoadAttachments(Accounting accounting)
        {
            dataGridViewAttachments.Rows.Clear();
            dataGridViewAttachments.Columns.Clear();

            for (var x = 0; x < 4; x++)
            {
                var column = new DataGridViewTextBoxColumn();
                dataGridViewAttachments.Columns.Add(column);
            }

            double amountCost = 0;

            if (accounting != null)
            {
                using (var db = new ModelsContext())
                {
                    var list = db.Attachments.Where(x => x.PaymentId == accounting.PaymentId).ToList();

                    foreach (var attachment in list)
                    {
                        dataGridViewAttachments.Rows.Add(attachment.Id, attachment.MadeBy,
                                                         attachment.FileName, (attachment.File != null ? "+" : string.Empty));
                        amountCost += attachment.MadeBy;
                    }
                }
            }

            if (accounting != null && amountCost > accounting.Service.Price)
            {
                labelWarningErrorMessage.Text = "Возможно допущена ошибка в подсчетах.";
                labelWarningAmountCost.Text   = string.Join(string.Empty, "Стоимость услуги ", accounting.Service.Price, "р., внесено ", amountCost, "р.");
            }

            if (accounting != null && amountCost >= accounting.Service.Price)
            {
                using (var db = new ModelsContext())
                {
                    var payment = db.Payments.First(x => x.Id == accounting.PaymentId);
                    payment.Paid = true;
                    db.SaveChanges();
                }
            }

            dataGridViewAttachments.Columns[0].Visible = false;

            dataGridViewAttachments.Columns[1].Width      = 120;
            dataGridViewAttachments.Columns[1].HeaderText = "Внесено";

            dataGridViewAttachments.Columns[2].Width      = 200;
            dataGridViewAttachments.Columns[2].HeaderText = "Файл";

            dataGridViewAttachments.Columns[3].Width      = 70;
            dataGridViewAttachments.Columns[3].HeaderText = "Скачать";
        }
예제 #17
0
        private void LoadRepairItems()
        {
            dataGridViewItems.Rows.Clear();
            dataGridViewItems.Columns.Clear();

            for (var x = 0; x < ItemsAmountOfColumns; x++)
            {
                var column = new DataGridViewTextBoxColumn();
                dataGridViewItems.Columns.Add(column);
            }

            _unityItemsPrice  = 0;
            _unityItemsAmount = 0;

            using (var db = new ModelsContext())
            {
                db.Items.ToList();
                db.Shops.ToList();
                db.TypeItems.ToList();

                foreach (var repairItem in db.RepairItems.Where(x => x.RepairId == _repair.Id))
                {
                    var currentTotalAmount = repairItem.Item.Price * repairItem.AmountItem;
                    _unityItemsPrice  += currentTotalAmount;
                    _unityItemsAmount += repairItem.AmountItem;

                    dataGridViewItems.Rows.Add(repairItem.Id, repairItem.Item.Name,
                                               repairItem.Item.Shop.Name, repairItem.Item.TypeItem.Name, repairItem.Item.Price,
                                               repairItem.AmountItem, currentTotalAmount);
                }
            }

            dataGridViewItems.Columns[0].Visible = false;

            dataGridViewItems.Columns[1].Width      = 200;
            dataGridViewItems.Columns[1].HeaderText = "Предмет";

            dataGridViewItems.Columns[2].Width      = 130;
            dataGridViewItems.Columns[2].HeaderText = "Магазин";

            dataGridViewItems.Columns[3].Width      = 130;
            dataGridViewItems.Columns[3].HeaderText = "Тип предмета";

            dataGridViewItems.Columns[4].Width      = 100;
            dataGridViewItems.Columns[4].HeaderText = "Цена за 1 шт.";

            dataGridViewItems.Columns[5].Width      = 50;
            dataGridViewItems.Columns[5].HeaderText = "Кол-во";

            dataGridViewItems.Columns[6].Width      = 120;
            dataGridViewItems.Columns[6].HeaderText = "Итоговая цена";

            labelItemUnityAmount.Text = new StringBuilder().Append("Общее кол-во предметов: ").Append(_unityItemsAmount).Append(", общая цена: ").Append(_unityItemsPrice).ToString();
        }
예제 #18
0
        public static string MonthBest(int compId, string token, ModelsContext context)
        {
            Award award = context.Awards.FirstOrDefault(x => x.Competition.Id == compId && x.User.Token == token &&
                                                        x.Month == DateTime.Today.Month && x.Year == DateTime.Today.Year);

            if (award != null)
            {
                return(award.Description);
            }
            return("No Award");
        }
예제 #19
0
 public ScheduleJob(ModelsContext context)
 {
     _context             = context;
     _notificationMessage = new NotificationMessages(context);
     updateAwardTimer     = new Timer(
         callback: new TimerCallback(RunAwardUserJob),
         state: "",
         dueTime: 10000, //run RunAwardUserJob after 10s of this object creation
         period: 0
         );
 }
예제 #20
0
 private void comboBoxClient_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (comboBoxClient.SelectedIndex != 0)
     {
         textBoxClientFullName.Text = comboBoxClient.Text;
         using (var db = new ModelsContext())
         {
             comboBoxTypeClient.Text = db.Clients.First(x => x.FullName == comboBoxClient.Text).TypeClient.ToString();
         }
     }
 }
예제 #21
0
        private void LoadDataGridView(IReadOnlyCollection <Item> itemList = null)
        {
            dataGridView.Rows.Clear();
            dataGridView.Columns.Clear();

            for (var x = 0; x < AmountOfColumns; x++)
            {
                var column = new DataGridViewTextBoxColumn();
                dataGridView.Columns.Add(column);
            }

            using (var db = new ModelsContext())
            {
                db.ItemCategories.ToList();
                db.TypeItems.ToList();
                db.Shops.ToList();

                if (itemList == null)
                {
                    foreach (var item in db.Items)
                    {
                        dataGridView.Rows.Add(item.Id, item.Name, item.Shop.Name,
                                              item.TypeItem.Name, item.WarrantyUpTo, item.Price);
                    }
                }
                else
                {
                    foreach (var item in itemList)
                    {
                        dataGridView.Rows.Add(item.Id, item.Name, item.Shop.Name,
                                              item.TypeItem.Name, item.WarrantyUpTo, item.Price);
                    }
                }
            }

            dataGridView.Columns[0].Visible = false;

            dataGridView.Columns[1].Width      = 200;
            dataGridView.Columns[1].HeaderText = "Предмет";

            dataGridView.Columns[2].Width      = 120;
            dataGridView.Columns[2].HeaderText = "Магазин";

            dataGridView.Columns[3].Width      = 170;
            dataGridView.Columns[3].HeaderText = "Тип предмета";

            dataGridView.Columns[4].Width      = 80;
            dataGridView.Columns[4].HeaderText = "Гарантия (в месяцах)";

            dataGridView.Columns[5].Width      = 120;
            dataGridView.Columns[5].HeaderText = "Цена";
        }
예제 #22
0
        public static void DetachLocal <T>(this ModelsContext context, T t, int entryId)
            where T : class, IIdentifier
        {
            var local = context.Set <T>()
                        .Local
                        .FirstOrDefault(entry => entry.ProductId.Equals(entryId));

            if (local != null)
            {
                context.Entry(local).State = Microsoft.EntityFrameworkCore.EntityState.Detached;
            }
            context.Entry(t).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
        }
        public async Task <ActionResult> AddAsync()
        {
            var user = await GetUser();

            var test = new TestDbo {
                Owner = user
            };

            ModelsContext.Add(test);
            await ModelsContext.SaveChangesAsync();

            return(Ok(test.Id));
        }
예제 #24
0
        private void buttonAdd_Click(object sender, EventArgs e)
        {
            var inputBox = new InputBox.InputBox("Количество предметов", "Введите количество: ", string.Empty, true);

            var valueInputBox = inputBox.ToString();

            if (string.IsNullOrEmpty(valueInputBox) || int.Parse(valueInputBox) == 0)
            {
                return;
            }

            var currentItemId = dataGridView.CurrentRow.Cells[0].Value.ToString();

            if (string.IsNullOrEmpty(currentItemId))
            {
                MessageBox.Show("Выделите строку для добавления предмета.");
            }

            using (var db = new ModelsContext())
            {
                var itemId     = int.Parse(currentItemId);
                var amountItem = int.Parse(valueInputBox);

                var repairItem = db.RepairItems.FirstOrDefault(x => x.ItemId == itemId && x.RepairId == _repair.Id);
                if (repairItem == null)
                {
                    db.RepairItems.Add(new RepairItem
                    {
                        RepairId   = _repair.Id,
                        AmountItem = amountItem,
                        ItemId     = itemId
                    });
                }
                else
                {
                    repairItem.AmountItem += amountItem;
                }

                db.SaveChanges();

                var priceItem = db.Items.First(x => x.Id == itemId).Price;

                _totalPrice[0]  += priceItem * amountItem;
                _totalAmount[0] += amountItem;
                _totaLabel.Text  = new StringBuilder().Append("Стоимость предметов: ").Append(_totalPrice[0])
                                   .Append(", общее кол-во предметов: ").Append(_totalAmount[0]).Append(
                    "                                                                      стоимость работы мастеров: ")
                                   .Append(_totalPrice[1]).Append(", общая продолжительность работы (в днях): ").Append(_totalAmount[1])
                                   .ToString();
            }
        }
예제 #25
0
        private void AddRoles(ModelsContext context)
        {
            var uMan = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));

            string[] roles = { "admin", "worker", "user" };
            foreach (string role in roles)
            {
                if (!uMan.RoleExists(role))
                {
                    var nrole = new IdentityRole(role);
                    uMan.Create(nrole);
                }
            }
        }
예제 #26
0
        private void LoadRepairMasters()
        {
            dataGridViewMasters.Rows.Clear();
            dataGridViewMasters.Columns.Clear();

            for (var x = 0; x < MastersAmountOfColumns; x++)
            {
                var column = new DataGridViewTextBoxColumn();
                dataGridViewMasters.Columns.Add(column);
            }

            _unityMastersPrice  = 0;
            _unityMastersAmount = 0;

            using (var db = new ModelsContext())
            {
                db.Masters.ToList();

                foreach (var repairMaster in db.RepairMasters.Where(x => x.RepairId == _repair.Id))
                {
                    var currentTotalAmount = repairMaster.Master.Price * repairMaster.DaysOfWork;
                    _unityMastersPrice  += currentTotalAmount;
                    _unityMastersAmount += repairMaster.DaysOfWork;

                    dataGridViewMasters.Rows.Add(repairMaster.Id, repairMaster.Master.Name,
                                                 repairMaster.Master.PhoneNumber, repairMaster.Master.Price, repairMaster.DaysOfWork,
                                                 currentTotalAmount);
                }
            }

            dataGridViewMasters.Columns[0].Visible = false;

            dataGridViewMasters.Columns[1].Width      = 250;
            dataGridViewMasters.Columns[1].HeaderText = "Название";

            dataGridViewMasters.Columns[2].Width      = 150;
            dataGridViewMasters.Columns[2].HeaderText = "Телефон";

            dataGridViewMasters.Columns[3].Width      = 100;
            dataGridViewMasters.Columns[3].HeaderText = "Цена за день";

            dataGridViewMasters.Columns[4].Width      = 80;
            dataGridViewMasters.Columns[4].HeaderText = "Кол-во дней.";

            dataGridViewMasters.Columns[5].Width      = 150;
            dataGridViewMasters.Columns[5].HeaderText = "Итоговая цена";

            labelMasterUnityAmount.Text = new StringBuilder().Append("Общая продолжительность работы (в днях): ").Append(_unityMastersAmount).Append(", общая цена: ").Append(_unityMastersPrice).ToString();
        }
예제 #27
0
        private void buttonApply_Click(object sender, System.EventArgs e)
        {
            if (!Helpers.CorrectionFilterPrice(textBoxPriceFrom, textBoxPriceTo))
            {
                return;
            }

            List <Master> masterList = null;

            using (var db = new ModelsContext())
            {
                IQueryable <Master> dbMasters = db.Masters;
                db.ItemCategories.ToList();
                db.TypeItems.ToList();

                if (!string.IsNullOrEmpty(textBoxSpecialization.Text))
                {
                    dbMasters = dbMasters.Where(x => x.Name.Contains(textBoxSpecialization.Text));
                }

                if (!comboBoxExpiarence.Text.Contains("Любой"))
                {
                    var expiarence = int.Parse(comboBoxExpiarence.Text);
                    dbMasters = dbMasters.Where(x => x.Expiarence >= expiarence);
                }

                if (!string.IsNullOrEmpty(textBoxPriceFrom.Text))
                {
                    var priceFrom = double.Parse(textBoxPriceFrom.Text);
                    dbMasters = dbMasters.Where(x => x.Price >= priceFrom);
                }

                if (!string.IsNullOrEmpty(textBoxPriceTo.Text))
                {
                    var priceTo = double.Parse(textBoxPriceTo.Text);
                    dbMasters = dbMasters.Where(x => x.Price <= priceTo);
                }

                masterList = dbMasters.ToList();
            }

            if (masterList.ToList().Count == 0)
            {
                MessageBox.Show("Результаты не надены.");
                return;
            }

            LoadData(masterList);
        }
예제 #28
0
        public void CompetitionNotification(ModelsContext _context, Competition comp)
        {
            var userlist = _context.Users.ToList();

            foreach (var user in userlist)
            {
                var notification = new Notifications();
                notification.User                = user;
                notification.IsRead              = false;
                notification.TimeOfArrival       = DateTime.Now.ToString();
                notification.TypeOfNotification  = "Competition";
                notification.NotificationMessage = comp.Name + ", has been created. Check it out!";
                _context.Notifications.Add(notification);
            }
            _context.SaveChanges();
        }
        public async Task <ActionResult> LoginAsync([FromBody] UserDto userDto)
        {
            var userDbo = ModelsContext.Users.FirstOrDefault(u => u.Login == userDto.Login && u.Password == userDto.Password);

            if (userDbo == null)
            {
                return(Forbid());
            }

            userDbo.Token     = Guid.NewGuid();
            userDbo.LastLogIn = DateTime.Now;
            ModelsContext.Update(userDbo);
            await ModelsContext.SaveChangesAsync();

            Response.Cookies.Append(AuthConstants.TokenCookie, userDbo.Token.ToString());
            return(Ok(userDbo.Token));
        }
예제 #30
0
        private void ShowToolTipItem(DataGridViewCellEventArgs e)
        {
            switch (dataGridViewItems.CurrentCell.ColumnIndex)
            {
            case 2:
            {
                var cellDisplayRect = dataGridViewItems.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false);
                var shopName        = dataGridViewItems.CurrentCell.Value.ToString();
                using (var db = new ModelsContext())
                {
                    var shop = db.Shops.First(x => x.Name.Contains(shopName));

                    toolTip.Show(
                        new StringBuilder().Append("Адрес: ").Append(shop.Address).Append("\nТелефон: ")
                        .Append(shop.PhoneNumber).ToString(),
                        dataGridViewItems,
                        cellDisplayRect.X + dataGridViewItems.CurrentCell.Size.Width / 2,
                        cellDisplayRect.Y + dataGridViewItems.CurrentCell.Size.Height / 2,
                        2000);
                    dataGridViewItems.ShowCellToolTips = false;
                }

                break;
            }

            case 1:
            {
                var cellDisplayRect = dataGridViewItems.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false);
                var nameItem        = dataGridViewItems.CurrentCell.Value.ToString();
                using (var db = new ModelsContext())
                {
                    var item = db.Items.First(x => x.Name.Contains(nameItem));

                    toolTip.Show(
                        new StringBuilder().Append("Описание: ").Append(item.Description).ToString(),
                        dataGridViewItems,
                        cellDisplayRect.X + dataGridViewItems.CurrentCell.Size.Width / 2,
                        cellDisplayRect.Y + dataGridViewItems.CurrentCell.Size.Height / 2,
                        2000);
                    dataGridViewItems.ShowCellToolTips = false;
                }

                break;
            }
            }
        }