Esempio n. 1
0
        public void Save(Reservation entity)
        {
            var reservation = _dbContext.Reservations.Find(entity.Id.Value);

            if (reservation == null)
            {
                reservation = new RESERVATIONS();
                _dbContext.Reservations.Add(reservation);
            }

            reservation.id              = entity.Id.Value;
            reservation.accounts_id     = entity.AccountId.Value;
            reservation.equipments_id   = entity.EquipmentId.Value;
            reservation.start_date_time = entity.ReservationDateTime.Start;
            reservation.end_date_time   = entity.ReservationDateTime.End;
            reservation.purpose_of_use  = entity.PurposeOfUse.Value;


            var reservationStatus = _dbContext.ReservationsStatus.Find(reservation.id);

            if (reservationStatus == null)
            {
                reservationStatus = new RESERVATIONS_STATUS();
                _dbContext.ReservationsStatus.Add(reservationStatus);
            }

            reservationStatus.reservations_id = reservation.id;
            reservationStatus.status          = (int)entity.ReservationStatus;

            _dbContext.SaveChanges();
        }
        public void Initialize(MyDbContext dbContext)
        {
            if (dbContext.Accounts.Count() > 0)
            {
                return;
            }

            var accounts = new List <ACCOUNTS>();

            accounts.Add(new ACCOUNTS()
            {
                id = new EquipmentReservation.Domain.Accounts.AccountId().Value, account_name = "アカウント1"
            });
            accounts.Add(new ACCOUNTS()
            {
                id = new EquipmentReservation.Domain.Accounts.AccountId().Value, account_name = "アカウント2"
            });
            accounts.Add(new ACCOUNTS()
            {
                id = new EquipmentReservation.Domain.Accounts.AccountId().Value, account_name = "アカウント3"
            });
            dbContext.AddRange(accounts);

            var equipments = new List <EQUIPMENTS>();

            equipments.Add(new EQUIPMENTS()
            {
                id = new EquipmentReservation.Domain.Equipments.EquipmentId().Value, equipment_type = (int)EquipmentReservation.Domain.Equipments.EquipmentTypes.USB, equipment_name = "USB1"
            });
            equipments.Add(new EQUIPMENTS()
            {
                id = new EquipmentReservation.Domain.Equipments.EquipmentId().Value, equipment_type = (int)EquipmentReservation.Domain.Equipments.EquipmentTypes.PocketWifi, equipment_name = "ポケットWifi1"
            });
            equipments.Add(new EQUIPMENTS()
            {
                id = new EquipmentReservation.Domain.Equipments.EquipmentId().Value, equipment_type = (int)EquipmentReservation.Domain.Equipments.EquipmentTypes.CellPhone, equipment_name = "携帯電話1"
            });
            dbContext.AddRange(equipments);

            var additionalDay = 1;
            var startDateTime = DateTime.Now;

            foreach (var account in accounts)
            {
                foreach (var equipment in equipments)
                {
                    var reservation = new RESERVATIONS()
                    {
                        id              = new EquipmentReservation.Domain.Reservations.ReservationId().Value,
                        accounts_id     = account.id,
                        equipments_id   = equipment.id,
                        start_date_time = startDateTime.AddDays(additionalDay),
                        end_date_time   = startDateTime.AddDays(additionalDay + 1),
                        purpose_of_use  = "テスト"
                    };
                    dbContext.Add(reservation);

                    var reservationsStatus = new RESERVATIONS_STATUS()
                    {
                        reservations_id = reservation.id,
                        status          = 0
                    };
                    dbContext.Add(reservationsStatus);

                    additionalDay++;
                }
            }

            dbContext.SaveChanges();
        }