public ActionResult EditSeasonTicket(int id, SeasonTicket seasonTicket)
        {
            //try
            {
                seasonTicket.idSeasonTicket = id;

                int idService = db.Service.Where(s => s.name == seasonTicket.Service.name).FirstOrDefault().idService;
                seasonTicket.idService = idService;
                int idClient = db.Client.Where(c => c.surname == seasonTicket.Client.surname).FirstOrDefault().idClient;
                seasonTicket.idClient = idClient;
                int idCoach = db.Coach.Where(c => c.surname == seasonTicket.Coach.surname).FirstOrDefault().idCoach;
                seasonTicket.idCoach = idCoach;

                var st = db.SeasonTicket.Where(c => c.idSeasonTicket == seasonTicket.idSeasonTicket).FirstOrDefault();
                seasonTicket.saleAge            = st.saleAge;
                seasonTicket.saleClasses        = st.saleClasses;
                seasonTicket.saleСonstantСlient = st.saleСonstantСlient;
                seasonTicket.totalCost          = st.totalCost;

                List <Visiting> vis = db.Visiting.Where(v => v.idSeasonTicket == id).ToList();
                for (int i = 0; i < seasonTicket.Visitings.Count(); i++)
                {
                    vis[i].date = seasonTicket.Visitings[i].date;
                }
                db.SaveChanges();
                //db.Entry(seasonTicket).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("SeasonTicket"));
            }
            //catch (Exception)
            //{
            //    return View();
            //}
        }
        public ActionResult ShowSeasonTicket(int id)
        {
            SeasonTicket seasonTicket = db.SeasonTicket.Where(st => st.idSeasonTicket == id).FirstOrDefault();

            //var visiting = (from st in db.SeasonTicket
            //                join st in db.SeasonTicket on c.idClient equals st.idClient
            //               join s in db.Service on st.idService equals s.idService
            //               where c.idClient == id
            //               select s.name).ToList();
            //ViewBag.TicketsClient = tickets;
            return(View(seasonTicket));
        }
Пример #3
0
        private void button_Click(object sender, EventArgs e)
        {
            using (KochkaDBEntities1 ct = new KochkaDBEntities1()) {
                if (Program.CurrentUser.Group == 1)
                {
                    if (ButtonText == "Мой абонемент")
                    {
                        SeasonTicket t = ct.SeasonTickets
                                         .ToList()
                                         .FirstOrDefault(x => x.CardNumber == Program.CurrentUser.Login);
                        Employee em = ct.Employees
                                      .ToList()
                                      .FirstOrDefault(x => x.ServiceNumber == t.ServiceNumber);
                        UserControlSeasonTicket item = new UserControlSeasonTicket()
                        {
                            ClubNumber = t.NumberOfClub.ToString(),
                            DateEnd    = t.DateOfEnd.ToString(),
                            DateBegin  = t.DateOfRegistration.ToString(),
                            StillHave  = t.VisitsStillHave.ToString(),
                            Employee   = em.Name,
                            ContactId  = t.ContractId.ToString(),
                            NameCard   = t.CardName,
                            ClubCard   = t.CardNumber
                        };
                        f2.ClearLayoutPanel();
                        panel.Controls.Add(item);
                    }


                    if (ButtonText == "Мой тренер")
                    {
                        CoachContract contract = ct.CoachContracts
                                                 .ToList()
                                                 .FirstOrDefault(x => x.CardNumber == Program.CurrentUser.Login);
                        Employee employee = ct.Employees
                                            .ToList()
                                            .FirstOrDefault(x => x.ServiceNumber == contract.ServiceNumber);
                        UserControlTrainerCoach item = new UserControlTrainerCoach()
                        {
                            ContractId = contract.CoachContractId.ToString(),
                            CoachName  = employee.EmplyeeSecondName + ' ' + employee.Name + ' ' + employee.EmplyeeMiddleName,
                            Quanity    = contract.QuantityTraining.ToString(),
                            StillHave  = contract.StillHaveTraining.ToString(),
                            DateBegin  = contract.DateOfConclusion.ToString(),
                            DateEnd    = contract.ExpiryDate.ToString(),
                            ClientName = ct.Visitors.ToList().FirstOrDefault(x => x.CardNumber == contract.CardNumber).VisitorSecondName
                        };
                        f2.ClearLayoutPanel();
                        panel.Controls.Add(item);
                    }

                    if (ButtonText == "Посещения")
                    {
                        f2.ClearLayoutPanel();
                        bool Empty = true;
                        foreach (Visit visit in ct.Visits.ToList())
                        {
                            if (visit.CardNumber == Program.CurrentUser.Login)
                            {
                                UserControlVisits item = new UserControlVisits()
                                {
                                    Date         = visit.DateOfVisit.ToString(),
                                    NumberOfClub = visit.NumberOfClub.ToString(),
                                    CardName     = visit.CardName.ToString(),
                                    ContarctId   = visit.ContractId.ToString(),
                                    CName        = ct.Visitors
                                                   .ToList()
                                                   .FirstOrDefault(x => x.CardNumber == Program.CurrentUser.Login).VisitorSecondName
                                };
                                Empty = false;
                                panel.Controls.Add(item);
                            }
                        }
                        if (Empty)
                        {
                            panel.Controls
                            .Add
                            (
                                new UserControlGuestVisit()
                            {
                                TextMessage      = "Посещений нет",
                                ClearSecondLabel = ""
                            }
                            );
                        }
                    }
                }
                else if (Program.CurrentUser.Group == 2)
                {
                    if (ButtonText == "Мои контракты")
                    {
                        f2.ClearLayoutPanel();
                        bool     Empty    = true;
                        Employee employee = ct.Employees
                                            .ToList()
                                            .FirstOrDefault(x => x.ServiceNumber.ToString() == Program.CurrentUser.Login);
                        foreach (CoachContract contract in ct.CoachContracts.ToList())
                        {
                            if (contract.ServiceNumber.ToString() == Program.CurrentUser.Login)
                            {
                                UserControlTrainerCoach item = new UserControlTrainerCoach()
                                {
                                    ContractId = contract.CoachContractId.ToString(),
                                    CoachName  = employee.EmplyeeSecondName + ' ' + employee.Name + ' ' + employee.EmplyeeMiddleName,
                                    Quanity    = contract.QuantityTraining.ToString(),
                                    StillHave  = contract.StillHaveTraining.ToString(),
                                    DateBegin  = contract.DateOfConclusion.ToString(),
                                    DateEnd    = contract.ExpiryDate.ToString(),
                                    ClientName = ct.Visitors.ToList().FirstOrDefault(x => x.CardNumber == contract.CardNumber).VisitorSecondName
                                };
                                Empty = false;
                                panel.Controls.Add(item);
                            }
                        }
                        if (Empty)
                        {
                            panel.Controls
                            .Add
                            (
                                new UserControlGuestVisit()
                            {
                                TextMessage      = "Контрактов нет",
                                ClearSecondLabel = ""
                            }
                            );
                        }
                    }
                }
                else if (Program.CurrentUser.Group == 3)
                {
                    if (ButtonText == "Абонементы")
                    {
                        f2.ClearLayoutPanel();
                        UserControlSeasonTicket it = new UserControlSeasonTicket();

                        var tick = from seasonTicket in ct.SeasonTickets
                                   join employee in ct.Employees on seasonTicket.ServiceNumber equals employee.ServiceNumber
                                   join visitor in ct.Visitors on seasonTicket.CardNumber equals visitor.CardNumber
                                   select new
                        {
                            NumberOfClub = seasonTicket.NumberOfClub,
                            NameCard     = seasonTicket.CardName,
                            CardNumber   = seasonTicket.CardNumber,
                            DateBegin    = seasonTicket.DateOfRegistration,
                            DateEnd      = seasonTicket.DateOfEnd,
                            StillHave    = seasonTicket.VisitsStillHave,
                            ContractId   = seasonTicket.ContractId,
                            EmployeeName = employee.EmplyeeSecondName,
                            ClientName   = visitor.VisitorSecondName
                        };
                        foreach (var i in tick.ToList())
                        {
                            UserControlSeasonTicket item = new UserControlSeasonTicket()
                            {
                                ClubNumber = i.NumberOfClub.ToString(),
                                NameCard   = i.NameCard,
                                ClubCard   = i.CardNumber,
                                DateBegin  = i.DateBegin.ToString(),
                                DateEnd    = i.DateEnd.ToString(),
                                ContactId  = i.ContractId.ToString(),
                                StillHave  = i.StillHave.ToString(),
                                Employee   = i.EmployeeName,
                                Client     = i.ClientName
                            };
                            panel.Controls.Add(item);
                        }
                    }


                    if (ButtonText == "Клиенты")
                    {
                        f2.ClearLayoutPanel();
                        foreach (Visitor v in ct.Visitors)
                        {
                            UserControlVisitor item = new UserControlVisitor()
                            {
                                Client   = v.VisitorSecondName + ' ' + v.VisitorName,
                                Birth    = v.VisitorBDate.ToString(),
                                ClubCard = v.CardNumber,
                                Passport = v.VisitorPassport
                            };
                            panel.Controls.Add(item);
                        }
                    }
                    if (ButtonText == "Контракты")
                    {
                        f2.ClearLayoutPanel();
                        bool Empty = true;
                        foreach (CoachContract contract in ct.CoachContracts.ToList())
                        {
                            UserControlTrainerCoach item = new UserControlTrainerCoach()
                            {
                                ContractId = contract.CoachContractId.ToString(),
                                CoachName  = "Табельный номер тренера: " + contract.ServiceNumber.ToString(),
                                Quanity    = contract.QuantityTraining.ToString(),
                                StillHave  = contract.StillHaveTraining.ToString(),
                                DateBegin  = contract.DateOfConclusion.ToString(),
                                DateEnd    = contract.ExpiryDate.ToString(),
                                ClientName = ct.Visitors.ToList().FirstOrDefault(x => x.CardNumber == contract.CardNumber).VisitorSecondName
                            };
                            Empty = false;
                            panel.Controls.Add(item);
                        }
                        if (Empty)
                        {
                            panel.Controls
                            .Add
                            (
                                new UserControlGuestVisit()
                            {
                                TextMessage      = "Контрактов нет",
                                ClearSecondLabel = ""
                            }
                            );
                        }
                    }


                    if (ButtonText == "Посещения")
                    {
                        f2.ClearLayoutPanel();
                        bool Empty = true;
                        foreach (Visit visit in ct.Visits.ToList())
                        {
                            try
                            {
                                UserControlVisits item = new UserControlVisits()
                                {
                                    Date         = visit.DateOfVisit.ToString(),
                                    NumberOfClub = visit.NumberOfClub.ToString(),
                                    CardName     = visit.CardName.ToString(),
                                    ContarctId   = visit.ContractId.ToString(),
                                    CName        = ct.Visitors
                                                   .ToList()
                                                   .FirstOrDefault(x => x.CardNumber == visit.CardNumber).VisitorSecondName
                                };
                                Empty = false;
                                panel.Controls.Add(item);
                            }
                            catch (Exception ex)
                            {
                                throw new NullReferenceException(ex.Message);
                            }
                        }
                        if (Empty)
                        {
                            panel.Controls
                            .Add
                            (
                                new UserControlGuestVisit()
                            {
                                TextMessage      = "Посещений нет",
                                ClearSecondLabel = ""
                            }
                            );
                        }
                    }


                    if (ButtonText == "Заявки на гостевой визит")
                    {
                        string line;
                        f2.ClearLayoutPanel();
                        System.IO.StreamReader file =
                            new System.IO.StreamReader("Applications.txt");
                        while ((line = file.ReadLine()) != null)
                        {
                            UserControlApp app = new UserControlApp()
                            {
                                Date       = line.Split(' ')[0] + ' ' + line.Split(' ')[1],
                                Number     = line.Split(' ')[2],
                                NameClient = line.Split(' ')[3] + ' ' + line.Split(' ')[4]
                            };
                            panel.Controls.Add(app);
                        }
                        file.Close();
                    }
                }
            }
        }
        public ActionResult CreateSeasonTicket(SeasonTicket seasonTicket)
        {
            try
            {
                if (seasonTicket.classesTotal == 0)
                {
                    ModelState.AddModelError("classesTotal", "Введите кол-во занятий");
                }
                DateTime thisDay = DateTime.Today;
                if (seasonTicket.dateStart < thisDay)
                {
                    ModelState.AddModelError("dateStart", "Нельзя вводить прошедшую дату");
                }
                if (seasonTicket.dateEnd < thisDay)
                {
                    ModelState.AddModelError("dateEnd", "Нельзя вводить прошедшую дату");
                }
                if (seasonTicket.dateEnd < seasonTicket.dateStart)
                {
                    ModelState.AddModelError("dateEnd", "Дата окончания раньше, чем дата начала");
                }

                //if (seasonTicket.dateEnd == DateTime.Parse("01.01.0001 0:00:00"))
                //{
                //    ModelState.AddModelError("dateEnd", "Введите дату окончания");
                //}

                if (seasonTicket.Coach.surname != "нет")
                {
                    seasonTicket.idCoach = db.Coach.Where(c => c.surname == seasonTicket.Coach.surname).FirstOrDefault().idCoach;
                }
                if (seasonTicket.idCoach != null)
                {
                    List <string> servicesCoach = (from c in db.Coach
                                                   join a in db.Activity on c.idCoach equals a.idCoach
                                                   join s in db.Service on a.idService equals s.idService
                                                   where c.idCoach == seasonTicket.idCoach
                                                   select s.name).ToList();

                    int check = 0;
                    foreach (var item in servicesCoach)
                    {
                        if (seasonTicket.Service.name == item)
                        {
                            check = 1;
                            break;
                        }
                    }
                    if (check == 0)
                    {
                        ModelState.AddModelError("Coach.surname", "Тренер не продоставляет выбранную услугу");
                        ViewBag.ServicesCoach = servicesCoach;
                    }
                }

                ModelState.Remove("Client.name");
                ModelState.Remove("Client.sex");
                ModelState.Remove("Coach.name");
                if (ModelState.IsValid)
                {
                    int idService = db.Service.Where(s => s.name == seasonTicket.Service.name).FirstOrDefault().idService;
                    seasonTicket.idService = idService;
                    int idClient = db.Client.Where(c => c.surname == seasonTicket.Client.surname).FirstOrDefault().idClient;
                    seasonTicket.idClient = idClient;

                    db.SeasonTicket.Add(seasonTicket);
                    db.SaveChanges();
                    return(RedirectToAction("SeasonTicket"));
                }
                else
                {
                    SelectList services = new SelectList(db.Service, "name", "name");
                    ViewBag.Services = services;
                    SelectList clients = new SelectList(db.Client, "surname", "surname");
                    ViewBag.Clients = clients;
                    SelectList coaches = new SelectList(db.Coach, "surname", "surname");
                    ViewBag.Coaches = coaches;
                    return(View(seasonTicket));
                }
            }
            catch (Exception)
            {
                return(View());
            }
        }