示例#1
0
        private async Task <ParkObjectViewModel> SaveAsync(int?id, ParkObjectSaveModel model)
        {
            var entity = id.HasValue ? await _parkObjectRepository.GetByIdAsync(id.Value) : new ParkObject();

            entity.Name = model.Name;
            entity.AdministrationDescriptionMarkdown = model.AdministrationDescriptionMarkdown;
            entity.Location                  = model.Location;
            entity.ParkId                    = model.ParkId;
            entity.PriceForChildren          = model.PriceForChildren;
            entity.PriceForAdults            = model.PriceForAdults;
            entity.PublicDescriptionMarkdown = model.PublicDescriptionMarkdown;
            entity.ImageUrl                  = model.ImageUrl;
            entity.Type             = model.Type;
            entity.WorkScheduleJson = model.WorkScheduleJson;

            _parkObjectRepository.Save(entity);
            await _unitOfWork.CommitAsync();

            var viewModel = new ParkObjectViewModel
            {
                Name = entity.Name,
                AdministrationDescriptionMarkdown = entity.AdministrationDescriptionMarkdown,
                Location                  = entity.Location,
                ParkId                    = entity.ParkId,
                PriceForChildren          = entity.PriceForChildren,
                PriceForAdults            = entity.PriceForAdults,
                PublicDescriptionMarkdown = entity.PublicDescriptionMarkdown,
                Id               = entity.Id,
                Type             = entity.Type,
                ImageUrl         = entity.ImageUrl,
                WorkScheduleJson = entity.WorkScheduleJson,
                TicketsTotal     = entity.Tickets.Count,
                TicketsClosed    = entity.Tickets.Count(t => t.Closed)
            };

            return(viewModel);
        }
示例#2
0
        public void Initialize()
        {
            _soloDbContext.Database.EnsureCreated();

            _userRepository.Save(new User
            {
                AuthId        = "Admin",
                HasPrivileges = true,
                Permissions   = (int)(Permissions.ParkObjectManagement | Permissions.Communication)
            });

            var testPark = new Park
            {
                Name       = "Парк культуры и отдыха им. Кирова",
                ImageUrl   = "https://i.imgur.com/D0U9aFG.png",
                RegionJson = new Region
                {
                    Points = new[]
                    {
                        new Point {
                            Latitude = 56.248128M, Longitude = 93.514754M
                        },
                        new Point {
                            Latitude = 56.238501M, Longitude = 93.524274M
                        },
                        new Point {
                            Latitude = 56.240517M, Longitude = 93.539638M
                        },
                        new Point {
                            Latitude = 56.241828M, Longitude = 93.540003M
                        },
                    }
                }.ToJson()
            };

            _parkRepository.Save(testPark);

            _unitOfWork.Commit();

            _parkObjectRepository.Save(new ParkObject
            {
                ParkId = testPark.Id,
                Name   = "Веселое путешествие",
                Type   = ObjectType.Attraction,
                AdministrationDescriptionMarkdown = @"Название аттракциона ""Веселое путешествие""
Модель аттракциона ""РЖД-2020""
Дата ввода в экплуатацию ""12.08.1987""
Период проведения регламента ""6 месяцев""
Дата проведния регламента "" 13.06.2020""
Отвественный за эксплуатацию ""Главный инженер Петров В.П.""
Состояние обекта ""В рабочем сотоянии""",
                PublicDescriptionMarkdown         = "Описание объекта\r\nПокрутись на цепях %))\r\n\r\nОграничения\r\nДетям до 5 лет\r\nЛицам в состоянии алкашки\r\nБез животных\r\n\r\nПравила безопасности на атракционах.\r\n1.\r\n2.\r\n3.\r\n\r\nВремя работы.\r\nВ выходные и праздничные дни\r\n10.00-17.00\r\n\r\nЦена\r\nДети -100\r\nВзрослый -130\r\n\r\nЦена со скидкой\r\n\r\n\r\nЛьготы\r\nМногодетные семьи\r\nДети детского дома, дети-инвалиды\r\nГерои и полные кавалеры ордена славы",
                Location = Point.FromStrangeCoord(56.244447M, 93.524815M)
            });

            _parkObjectRepository.Save(new ParkObject
            {
                ParkId = testPark.Id,
                Name   = "Колесо обзора",
                AdministrationDescriptionMarkdown = "Название аттракциона \"Колесо обзора\"\r\nМодель аттракциона \"Круговерть-ГТ2000\"\r\nДата ввода в экплуатацию \"12.08.1987\"\r\nПериод проведения регламента \"6 месяцев\"\r\nДата проведния регламента \" 13.06.2020\"\r\nОтвественный за эксплуатацию \"Главный инженер Петров В.П.\"\r\nСостояние обекта \"В рабочем сотоянии\"",
                ImageUrl = "https://i.imgur.com/x1A9IiO.jpg",
                Location = new Point(56.244223M, 93.524257M),
                Type     = ObjectType.Attraction,
            });

            _parkObjectRepository.Save(new ParkObject
            {
                ParkId = testPark.Id,
                Name   = "Беседка над озером",
                PublicDescriptionMarkdown = "Если вы хотите посидеть в тишине с прекрасным видом на пропалывающие в дали парусники",
                Location = new Point(56.244048M, 93.522333M),
                Type     = ObjectType.Sight,
            });

            _parkObjectRepository.Save(new ParkObject
            {
                ParkId = testPark.Id,
                Name   = "Домик для белки",
                PublicDescriptionMarkdown = "Не обижайте наших белочек. Они очень довречевые.\r\nВы можете покормить их. Просто положите еду в их домики.\r\n\r\nЧем кормить белок.\r\nБелый хлеб.\r\nГрецкий орех.\r\nСухие грибы.\r\nПеченьки.\r\nСемки.\r\nСухарики к пиву.\r\nСухофрукты \r\nКедровый орех.\r\n\r\nВнимание!\r\nНе берите белок в руки.",
                Location = new Point(56.243929M, 93.527559M),
                Type     = ObjectType.Sight,
            });

            _parkObjectRepository.Save(new ParkObject
            {
                ParkId = testPark.Id,
                Name   = "Домик для белки",
                PublicDescriptionMarkdown = "Не обижайте наших белочек. Они очень довречевые.\r\nВы можете покормить их. Просто положите еду в их домики.\r\n\r\nЧем кормить белок.\r\nБелый хлеб.\r\nГрецкий орех.\r\nСухие грибы.\r\nПеченьки.\r\nСемки.\r\nСухарики к пиву.\r\nСухофрукты \r\nКедровый орех.\r\n\r\nВнимание!\r\nНе берите белок в руки.",
                Location = new Point(56.241359M, 93.527079M),
                Type     = ObjectType.Sight,
            });

            _parkObjectRepository.Save(new ParkObject
            {
                ParkId = testPark.Id,
                Name   = "Домик для белки",
                PublicDescriptionMarkdown = "Не обижайте наших белочек. Они очень довречевые.\r\nВы можете покормить их. Просто положите еду в их домики.\r\n\r\nЧем кормить белок.\r\nБелый хлеб.\r\nГрецкий орех.\r\nСухие грибы.\r\nПеченьки.\r\nСемки.\r\nСухарики к пиву.\r\nСухофрукты \r\nКедровый орех.\r\n\r\nВнимание!\r\nНе берите белок в руки.",
                Location = new Point(56.242846M, 93.526488M),
                Type     = ObjectType.Sight,
            });

            _parkObjectRepository.Save(new ParkObject
            {
                ParkId = testPark.Id,
                Name   = "Домик для белки",
                PublicDescriptionMarkdown = "Не обижайте наших белочек. Они очень довречевые.\r\nВы можете покормить их. Просто положите еду в их домики.\r\n\r\nЧем кормить белок.\r\nБелый хлеб.\r\nГрецкий орех.\r\nСухие грибы.\r\nПеченьки.\r\nСемки.\r\nСухарики к пиву.\r\nСухофрукты \r\nКедровый орех.\r\n\r\nВнимание!\r\nНе берите белок в руки.",
                Location = new Point(56.243666M, 93.525560M),
                Type     = ObjectType.Sight,
            });

            _parkObjectRepository.Save(new ParkObject
            {
                ParkId   = testPark.Id,
                Name     = "Coffe",
                Location = new Point(56.243806M, 93.527684M),
                Type     = ObjectType.Food,
            });

            _unitOfWork.Commit();
        }