private void BtnSave_Click(object sender, EventArgs e)
        {
            using (var context = new musicstudiodbContext())
            {
                try
                {
                    var abonement = new Abonement();
                    //abonement.ClientId = client.Id;
                    //abonement.DateEnd = calendarEnd.SelectedDate;
                    //abonement.DateStart = calendarStart.SelectedDate;
                    //abonement.LessonsCount = txtLessonCount.Text == "" ? 0 : int.Parse(txtLessonCount.Text);
                    //abonement.TeacherId = int.Parse(ddlTeacher.SelectedValue);
                    abonement.ClientId     = abonementEditor.ClientId;
                    abonement.DateEnd      = abonementEditor.DateEnd;
                    abonement.DateStart    = abonementEditor.DateStart;
                    abonement.LessonsCount = abonementEditor.LessonsCount;
                    //txtLessonCount.Text == "" ? 0 : int.Parse(txtLessonCount.Text);
                    abonement.TeacherId = abonementEditor.TeacherId;
                    context.Abonements.Add(abonement);
                    //client.CarMakeID = int.Parse(ddlMake.SelectedValue);
                    //client.CarYear = int.Parse(txtYear.Text);
                    //client.Model = txtModel.Text;
                    context.SaveChanges();
                }
                catch (DbUpdateException dbex)
                {
                    Response.Write("<script>alert('Заполните все поля')</script>");
                    return;
                }


                Response.Redirect("MainPage.aspx");
            }
        }
        public ActionResult SaveNewAbonement(AddNewAbonementModel abNew)
        {
            Client cli = new Client(abNew.c_name, abNew.c_surname, abNew.c_phone);

            db.Client.Add(cli);

            int id = 0;

            int temp_title = 0;

            temp_title = int.Parse(abNew.s_title);

            var servs = db.Service
                        .Where(s => s.s_id == temp_title)
                        .Select(s => s);

            foreach (Service se in servs)
            {
                id = se.s_id;
            }


            Abonement ab = new Abonement(cli.c_id, abNew.date_begin, id, abNew.date_end, abNew.a_count);

            db.Abonement.Add(ab);

            db.SaveChanges();

            return(RedirectToAction("AddNewAbonementView"));
        }
示例#3
0
 public void AddAbonement(Abonement abonement)
 {
     using (poolDBEntities ent = new poolDBEntities())
     {
         ent.Abonements.Add(abonement);
         ent.SaveChanges();
     }
 }
示例#4
0
        /// <summary>
        /// Получить общую стоимость абонемента
        /// </summary>
        /// <param name="accountAbonement"> абонемент</param>
        /// <returns></returns>
        public static void SetTotalCost(Abonement accountAbonement)
        {
            if (accountAbonement == null)
            {
                return;
            }

            Assistiant.SetTotalCost(accountAbonement);
        }
示例#5
0
        public IActionResult Delete(int id)
        {
            Abonement a = db.Abonements.Find(id);
            int       c = a.Id_Client;

            db.Abonements.Remove(a);
            db.SaveChanges();
            return(RedirectToAction("Info", "Client", new { id = c }));
        }
示例#6
0
        /// <summary>
        /// Продлить абонемент
        /// </summary>
        /// <param name="accountAbonement"></param>
        /// <param name="timeToLong"></param>
        public void LongAbonement(Abonement accountAbonement, DateTime timeToLong)
        {
            if (accountAbonement == null)
            {
                return;
            }

            accountAbonement.TimeToLong = timeToLong;
            CreateOrUpdateRecord(accountAbonement);
        }
示例#7
0
        public void FreezeAbonement(Abonement accountAbonement)
        {
            if (accountAbonement == null)
            {
                return;
            }
            accountAbonement.AbonmentStatus.StatusName = "Заморожен";

            CreateOrUpdateRecord(accountAbonement);
        }
示例#8
0
        /// <summary>
        /// Обновить
        /// </summary>
        /// <param name="accountAbonement"></param>
        public void ActivateAbonement(Abonement accountAbonement)
        {
            if (accountAbonement == null)
            {
                return;
            }
            accountAbonement.AbonmentStatus.StatusName = "Активен";

            CreateOrUpdateRecord(accountAbonement);
        }
示例#9
0
 public void DeleteAbonementById(int id)
 {
     using (poolDBEntities ent = new poolDBEntities())
     {
         Abonement abonEnt = ent.Abonements
                             .Where(a => a.Id == id)
                             .FirstOrDefault();
         ent.Abonements.Remove(abonEnt);
         ent.SaveChanges();
     }
 }
示例#10
0
        public List <Client> GetClientByAbonementId(int id)
        {
            List <Client> c = new List <Client>();

            using (poolDBEntities ent = new poolDBEntities())
            {
                Abonement abon = ent
                                 .Abonements.Where(a => a.Id == id)
                                 .FirstOrDefault();
                c.Add(abon.Client);
            }
            return(c);
        }
示例#11
0
        public IActionResult Remove(int id, int idClient, DateTime when)
        {
            // Получить абонемент, добавить посещение
            // Удалить связь на эту тренировку, бля
            TrainGroup t  = db.TrainGroups.Where(x => x.Id_Client == idClient && x.Id_Training == id).FirstOrDefault();
            Training   tr = db.Trainings.First(x => x.StartAt.Equals(when));
            Abonement  a  = db.Abonements.Where(x => x.Id_Client == idClient && tr.Id_BasicGroup == x.Id_BasicGroup).FirstOrDefault();

            a.CurrentTrainings += 1;
            db.TrainGroups.Remove(t);
            db.Abonements.Update(a);
            db.SaveChanges();
            return(RedirectToAction("Index", "Training", new{ when = db.Trainings.Find(id).StartAt }));
        }
示例#12
0
        public IActionResult FreezeAbonement(Abonement abonement)
        {
            var currentClient = context.Client.Single(x => x.Email == User.Identity.Name);
            var newAbonement  = context.Abonement.Single(x => x.Number == abonement.Number);

            newAbonement.Capacity     -= abonement.IntervalBlock.Value;
            newAbonement.DateBlock     = abonement.DateBlock.Value;
            newAbonement.IntervalBlock = abonement.IntervalBlock.Value;
            newAbonement.IsActive      = false;

            context.SaveChanges();

            return(RedirectToAction(nameof(AbonementInfo)));
        }
示例#13
0
        private void saveAbonementChanges()
        {
            if (currClientId == -1)
            {
                return;
            }
            Abonement abon = new Abonement();

            if (!isAddingState)
            {
                abon.Id = Convert.ToInt32(abonementsIdComboBox.SelectedItem.ToString());
            }
            abon.VisitTypeId   = clientManager.GetVisitTypeIdByName(visitTypeСomboBox.SelectedItem.ToString());
            abon.ServiceTypeId = clientManager.GetServiceTypeIdByName(serviceTypeComboBox.SelectedItem.ToString());
            int?tgid = clientManager.GetTrainingGroupIdByName(trainingGroupsComboBox.SelectedItem.ToString());

            if (tgid != null)
            {
                abon.TrainingGroupId = tgid;
            }
            DateTime dt = dateEndPicker.Value;

            abon.DateEnd = dt;
            //if (DateTime.TryParse(dateEndTextBox.Text, out dt))
            //    abon.DateEnd = dt;
            int vc = 0;

            if (int.TryParse(visitCountTextBox.Text, out vc))
            {
                abon.VisitCount = vc;
            }
            abon.ClientId = currClientId;
            if (isAddingState)
            {
                clientManager.AddAbonement(abon);
            }
            else
            {
                clientManager.EditAbonement(abon);
            }
            MessageBox.Show("Сохранено!");
            isSaved = true;
            if (isAddingState)
            {
                AbonementIdComboBoxDataSourceUpdate(currClientId);
            }
            watchingState();
        }
示例#14
0
        public IActionResult Assign(DateTime when, int id)
        {
            Training t = db.Trainings.First(x => x.StartAt.Equals(when));

            TrainGroup tg = new TrainGroup {
                Id_Client   = id,
                Id_Training = t.Id
            };
            Abonement a = db.Abonements.First(x => x.Id_Client == id);

            a.CurrentTrainings -= 1;
            db.Abonements.Update(a);
            db.TrainGroups.Add(tg);
            db.SaveChanges();
            return(RedirectToAction("Index", "Home", when.Date));
        }
示例#15
0
        public IActionResult New(AbonementClient model)
        {
            Abonement a = new Abonement {
                Id_Client        = model.ID_Client,
                StartDate        = model.StartAt,
                EndDate          = model.EndAt,
                Id_BasicGroup    = model.Id_BasicGroup,
                TotalTrainings   = model.TotalTrainings,
                CurrentTrainings = model.TotalTrainings,
                TotalPayed       = model.TotalTrainings * db.BasicGroups.Find(model.Id_BasicGroup).Costs
            };

            db.Abonements.Add(a);
            db.SaveChanges();
            return(RedirectToAction("Info", "Client", new { id = a.Id_Client }));
        }
        public override object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is Account account)
            {
               Abonement abonem =  account.Abonement;
                if (parameter as string == "Freeze")
                {
                    return (abonem as Abonement).AbonmentStatus.StatusName == "Активен";
                }

                return (abonem as Abonement).AbonmentStatus.StatusName != "Активен";

            }

            return false;
        }
示例#17
0
        public void EditAbonement(Abonement abonement)
        {
            using (poolDBEntities ent = new poolDBEntities())
            {
                Abonement abonEnt = ent.Abonements
                                    .Where(a => a.Id == abonement.Id)
                                    .FirstOrDefault();
                //abonEnt = abonement;
                abonEnt.VisitTypeId     = abonement.VisitTypeId;
                abonEnt.ServiceTypeId   = abonement.ServiceTypeId;
                abonEnt.TrainingGroupId = abonement.TrainingGroupId;
                abonEnt.VisitCount      = abonement.VisitCount;
                abonEnt.ClientId        = abonement.ClientId;
                abonEnt.DateEnd         = abonement.DateEnd;

                ent.SaveChanges();
            }
        }
示例#18
0
        /// <summary>
        /// Посчитать общую стоимость абонемента
        /// </summary>
        /// <param name="accountAbonement">Текущий абонемент</param>
        public void SetTotalCost(Abonement accountAbonement)
        {
            if (accountAbonement == null)
            {
                return;
            }
            var query = DataBaseFcContext.Abonements.FirstOrDefault(ab => ab.NumberSubscription == accountAbonement.NumberSubscription);

            if (query != null)
            {
                query.AbonementTotalCost = 0;
                foreach (var buyingTraining in query.ArrServicesInSubscription)
                {
                    buyingTraining.TotalCost =
                        buyingTraining.SiSTrainingCount * buyingTraining.PriceType.TrainingCurrentCost;

                    query.AbonementTotalCost += Math.Round(buyingTraining.TotalCost, 2);
                }
            }

            DataBaseFcContext.SaveChanges();
        }
示例#19
0
        private void SetCurrAbonement()
        {
            int id;

            if (abonementsIdComboBox.Items.Count < 1)
            {
                return;
            }
            if (Int32.TryParse(abonementsIdComboBox.SelectedItem.ToString(), out id))
            {
                Abonement a = clientManager.GetAbonementById(id);
                //if (a.VisitTypeId != null)
                string typeName = clientManager.GetVisitTypeById(a.VisitTypeId).TypeName;
                if (typeName != null)
                {
                    visitTypeСomboBox.SelectedIndex = visitTypeСomboBox.FindString(typeName);
                }

                string sTypeName = clientManager.GetServiceTypeById(a.ServiceTypeId).TypeName;
                if (sTypeName != null)
                {
                    serviceTypeComboBox.SelectedIndex = serviceTypeComboBox.FindString(sTypeName);
                }
                if (a.TrainingGroupId != null)
                {
                    string grName = clientManager.GetTrainingGroupById((int)a.TrainingGroupId).GroupName;
                    trainingGroupsComboBox.SelectedIndex = trainingGroupsComboBox.FindString(grName);
                }
                else
                {
                    trainingGroupsComboBox.SelectedIndex = trainingGroupsComboBox.Items.Count - 1;
                }

                visitCountTextBox.Text = a.VisitCount.ToString();
                dateEndPicker.Value    = a.DateEnd.Date;
                //dateEndTextBox.Text = a.DateEnd.Date.ToShortDateString();
            }
        }
示例#20
0
 public static void SetTotalCost(Abonement accountAbonement)
 {
     DbManager.GetInstance().SetTotalCost(accountAbonement);
 }
        private void BtnSave_Click(object sender, EventArgs e)
        {
            using (var context = new musicstudiodbContext())
            {
                try
                {
                    var client = new Client();
                    try
                    {
                        client.Name        = clientEditor.FirstName;
                        client.Surname     = clientEditor.Surname;
                        client.SecondName  = clientEditor.SecondName;
                        client.PhoneNumber = clientEditor.Phone;
                    }
                    catch (EntityDataSourceValidationException tbErr)
                    {
                        Response.Write(tbErr.Message);
                        return;
                    }
                    try
                    {
                        context.Clients.Add(client);
                        context.SaveChanges();
                    }
                    catch (DbEntityValidationException ex)
                    {
                        // case of catching errors on saving new data in db
                        String message = "";
#if DEBUG
                        // show full err sequence to devs
                        foreach (DbEntityValidationResult validationError in ex.EntityValidationErrors)
                        {
                            message += "Object: " + validationError.Entry.Entity.ToString() + "\t";
                            foreach (DbValidationError err in validationError.ValidationErrors)
                            {
                                message += err.ErrorMessage.ToString() + " ";
                            }
                        }
#else
                        // do not show extra info to user
                        message = "Server error occured"
#endif
                        Response.Write(message);
                        return;
                    }
                    var abonement = new Abonement();
                    //abonement.ClientId = client.Id;
                    //abonement.DateEnd = calendarEnd.SelectedDate;
                    //abonement.DateStart = calendarStart.SelectedDate;
                    //abonement.LessonsCount = txtLessonCount.Text == "" ? 0 : int.Parse(txtLessonCount.Text);
                    //abonement.TeacherId = int.Parse(ddlTeacher.SelectedValue);
                    abonement.ClientId     = client.Id;
                    abonement.DateEnd      = abonementEditor.DateEnd;
                    abonement.DateStart    = abonementEditor.DateStart;
                    abonement.LessonsCount = abonementEditor.LessonsCount;
                    //txtLessonCount.Text == "" ? 0 : int.Parse(txtLessonCount.Text);
                    abonement.TeacherId = abonementEditor.TeacherId;
                    context.Abonements.Add(abonement);
                    //client.CarMakeID = int.Parse(ddlMake.SelectedValue);
                    //client.CarYear = int.Parse(txtYear.Text);
                    //client.Model = txtModel.Text;
                    context.SaveChanges();
                }
                catch (DbUpdateException dbex)
                {
                    Response.Write("<script>alert('Заполните все поля')</script>");
                    return;
                }


                Response.Redirect("MainPage.aspx");
            }
        }
示例#22
0
 public void SetTotalCost(Abonement accountAbonement)
 {
     unitOfWork.ServicesInSubscription.SetTotalCost(accountAbonement);
 }