예제 #1
0
 public virtual void Add(TEntity obj)
 {
     try
     {
         _context.Set <TEntity>().Add(obj);
         _context.SaveChanges();
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #2
0
        /// <summary>
        /// 获取所有资源
        /// </summary>
        /// <param name="version"></param>
        public string[] GetAllFile(string projName, string version, string platform)
        {
            var root = $"{this.fileRootPath}/{projName}";

            //只保留10个版本
            var ds = Directory.GetDirectories(root);

            if (ds.Length > 10)
            {
                using (var db = new SqliteContext())
                {
                    var ab = db.AssetBundleDatas.OrderBy((adb) => adb.Version).                             //排序
                             FirstOrDefault((abd) => abd.ProjName == projName && abd.Platform == platform); //取第一个
                    //删除最小版本
                    var del = $"{root}/{ab.Version}";
                    db.Remove(ab);
                    db.SaveChanges();

                    Directory.Delete(del, true);
                }
            }

            //
            var direct = $"{root}/{version}/{platform}";

            if (Directory.Exists(direct))
            {
                var fs = Directory.GetFiles(direct, "*", SearchOption.AllDirectories);
                return(fs.Select((d) => Path.GetFileName(d)).ToArray());
            }

            return(null);
        }
예제 #3
0
        public static void Edit(Cleaning cleaning)
        {
            using (var conn = new SqliteContext())
            {
                Cleaning cleaningToChange = conn.Cleanings.Where(p => p.Id == cleaning.Id).FirstOrDefault();
                if (cleaningToChange != null)
                {
                    cleaningToChange.IdRoom   = cleaning.IdRoom;
                    cleaningToChange.IdWorker = cleaning.IdWorker;

                    TimeSpan startHour = new TimeSpan(10, 0, 0);
                    DateTime startTime = cleaning.CleanTime.Date + startHour; //dany dzień godz. 10:00

                    DateTime?dateToSet = CheckIfWorkerHaveTimeAndReturnFirstFreeDate(conn, cleaning.IdWorker, startTime);

                    if (dateToSet.HasValue)
                    {
                        cleaningToChange.CleanTime = dateToSet.Value;
                    }
                    else
                    {
                        throw new Exception("Pracownik o tym Id nie jest dostępny w wybranym dniu. Wybierze inny dzień lub innego pracownika.");
                    }

                    conn.SaveChanges();
                }
                else
                {
                    throw new Exception("Nie znaleziono wpisu sprzątania do zmodyfikowania");
                }
            }
        }
예제 #4
0
 /// <summary>
 /// 临时保存征询
 /// </summary>
 /// <param name="suggest"></param>
 /// <returns></returns>
 public bool saveSuggest(Suggest suggest)
 {
     using (SqliteContext context = new SqliteContext())
     {
         var old = context.Suggest.FirstOrDefault(s => s.Id == suggest.Id);
         try
         {
             if (old == null)
             {
                 context.Suggest.Add(suggest);
             }
             else
             {
                 //old = suggest;
                 old.suggest_content = suggest.suggest_content;
                 old.remark          = suggest.remark;
             }
             context.SaveChanges();
             return(true);
         }
         catch (Exception)
         {
             return(false);
         }
     }
 }
예제 #5
0
        public bool CreateGame(Game game)
        {
            _context.Games.Add(game);
            var result = _context.SaveChanges();

            return(result > 0);
        }
        private static void Archivos()
        {
            string ruta = @"/Users/bidkar/Documents/UDO/2019/Mayo-Agosto/Computacion9/PrimerParcial/Datos";

            var archivos = Directory.GetFiles(ruta);
            var claves   = new List <ClaveDeLocalizacion>();

            foreach (var a in archivos)
            {
                Console.WriteLine($"Archivo: {Path.GetFileName(a)}");
                var contenido = File.ReadAllLines(a);
                var contador  = 1;
                foreach (var linea in contenido)
                {
                    if (contador > 1)
                    {
                        claves.Add(ClaveDeLocalizacion.Inicializar(linea.Replace("\"", "")));
                    }
                    contador++;
                }
            }
            using (var db = new SqliteContext())
            {
                db.Database.EnsureCreated();
                db.AddRange(claves);
                db.SaveChanges();
                Console.WriteLine("Claves guardadas!");
            }
        }
        public void Add(Reservation rez)
        {
            using (var conn = new SqliteContext())
            {
                Customer cus  = conn.Customers.FirstOrDefault(p => p.Id == rez.IdCustomer);
                Room     room = conn.Rooms.FirstOrDefault(p => p.Id == rez.IdRoom);
                rez.Customer = cus ?? throw new Exception("Nie ma klienta o ID: " + rez.IdCustomer);
                rez.Room     = room ?? throw new Exception("Nie ma pokoju o ID: " + rez.IdRoom);

                IList <Reservation> reservations = conn.Reservations.Where(p => p.IdRoom == rez.IdRoom).ToList();

                if (reservations.Any(p => p.StartTime.Date == rez.StartTime.Date || p.StopTime.Date == rez.StopTime.Date ||
                                     (p.StartTime.Date > rez.StartTime.Date && p.StartTime.Date < rez.StopTime.Date) ||
                                     (p.StartTime.Date < rez.StartTime.Date && p.StopTime.Date > rez.StartTime.Date) ||
                                     (p.StartTime.Date > rez.StartTime.Date && p.StopTime.Date < rez.StopTime.Date) ||
                                     (p.StartTime.Date < rez.StartTime.Date && p.StopTime.Date > rez.StopTime.Date)))
                {
                    throw new Exception("W tym terminie pokój jest już zarezerwowany");
                }

                rez.StartTime = rez.StartTime.AddHours(15);
                rez.StopTime  = rez.StopTime.AddHours(10);

                conn.Reservations.Add(rez);
                AddCleaning(rez, conn);
                conn.SaveChanges();
            }
        }
예제 #8
0
        private void Adicionar(LoginResponse loginResponse, Sentimento sentimento)
        {
            var urlAdicionar   = "https://apiteams.goobee.com.br/api/Home/AdicionarHumor";
            var paramAdicionar = new
            {
                idPessoa             = loginResponse.IdPessoa,
                idResponsavelCriacao = loginResponse.Id,
                sentimento           = (int)sentimento
            };

            using (var wb = new WebClient())
            {
                wb.Headers[HttpRequestHeader.Authorization] = "Bearer " + loginResponse.Token;
                wb.Headers.Add(HttpRequestHeader.ContentType, "application/json");
                wb.Headers[HttpRequestHeader.Accept] = "application/json";

                var response = wb.UploadString(urlAdicionar, "POST", JsonConvert.SerializeObject(paramAdicionar));

                using (var db = new SqliteContext())
                {
                    var user = db.Usuarios.AsQueryable().Where(o => o.Login == loginResponse.Login).FirstOrDefault();

                    db.UsuarioSentimento.Add(new UsuarioSentimento()
                    {
                        IdUsuario          = user.Id,
                        IdSentimentoPessoa = response.ToString().Replace("\"", ""),
                        LoginUsuario       = loginResponse.Login,
                        DataCadastro       = DateTime.Today
                    });
                    db.SaveChanges();
                }
            };
        }
예제 #9
0
        public void AddAdapters(List <IMqttAdapter> adapters)
        {
            using (var ctx = new SqliteContext())
            {
                foreach (var adapter in adapters)
                {
                    var controller = _modelFactory.CreateController();
                    controller.Identifier = adapter.Identifier;
                    controller.Type       = adapter.Type;
                    controller.InitializationArguments = _jsonSerializerService.Serialize(adapter.GetInitializationArguments());

                    foreach (var state in adapter.GetPossibleStates())
                    {
                        var stateModel = new ControllerStateInformation();
                        stateModel.State            = state.State;
                        stateModel.PowerConsumption = state.PowerConsumption;
                        stateModel.Controller       = controller;

                        ctx.Add(stateModel);
                    }

                    ctx.Add(controller);
                }

                ctx.SaveChanges();
            }
        }
예제 #10
0
        protected override void ExecuteJsonCommand(ChatSession session, User commandInfo)
        {
            Console.WriteLine(@"{0:HH:mm:ss}  新用户注册 用户名:{1} 密码:{2}", DateTime.Now, commandInfo.Username, commandInfo.Password);
            int result = 0;

            using (var db = new SqliteContext())
            {
                db.Users.Add(commandInfo);
                result = db.SaveChanges();
            }
            if (result > 0)
            {
                var status = new ServerStatus {
                    Status = true, Detail = "注册成功"
                };
                session.Send(JsonConvert.SerializeObject(status));
            }
            else
            {
                var status = new ServerStatus {
                    Status = false, Detail = "注册失败"
                };
                session.Send(JsonConvert.SerializeObject(status));
            }
        }
예제 #11
0
        public static void Delete(InterestRateTableData interestRate)
        {
            using var context = new SqliteContext();
            var entity = context.InterestRates.Remove(interestRate);

            entity.State = EntityState.Deleted;
            context.SaveChanges();
        }
예제 #12
0
        public static void Edit(InterestRateTableData interestRate)
        {
            using var context = new SqliteContext();
            var entity = context.InterestRates.Update(interestRate);

            entity.State = EntityState.Modified;
            context.SaveChanges();
        }
예제 #13
0
        public static void Edit(CreditCardTableData creditCard)
        {
            using var context = new SqliteContext();
            var entity = context.CreditCards.Update(creditCard);

            entity.State = EntityState.Modified;
            context.SaveChanges();
        }
예제 #14
0
        public File Create(string name, string content, int groupId)
        {
            Console.WriteLine("groupId: " + groupId);

            File file = new File()
            {
                Name    = name,
                Content = content,
                GroupId = groupId
            };

            context.Files.Add(file);
            context.SaveChanges();

            NotifyClients(file.GroupId);
            return(file);
        }
예제 #15
0
 public static void Add(Equipment equipment)
 {
     using (var conn = new SqliteContext())
     {
         conn.Equipments.Add(equipment);
         conn.SaveChanges();
     }
 }
예제 #16
0
 public static void Add(ParkingSlot parkingSlot)
 {
     using (var conn = new SqliteContext())
     {
         conn.ParkingSlots.Add(parkingSlot);
         conn.SaveChanges();
     }
 }
예제 #17
0
        public static void Delete(CreditCardTableData creditCard)
        {
            using var context = new SqliteContext();
            var entity = context.CreditCards.Remove(creditCard);

            entity.State = EntityState.Deleted;
            context.SaveChanges();
        }
예제 #18
0
        public static void Add(InterestRateTableData interestRate)
        {
            using var context = new SqliteContext();
            var entity = context.InterestRates.Add(interestRate);

            entity.State = EntityState.Added;
            context.SaveChanges();
        }
예제 #19
0
        public async Task <IActionResult> Settings(string theme, string companyName, string db) // string logoPath, string version, int tax,, string language, string server, string port,
        {
            // if(sqliteContext..Settings)
            Settings settings;

            try
            {
                settings = await sqliteContext.Settings
                           .AsNoTracking()
                           .FirstOrDefaultAsync(i => i.Id == 1);

                settings.Theme       = theme;
                settings.CompanyName = companyName;
                //settings.Version = version;
                settings.DB = db;
                //Configuration[]   // in die Configurationsdatei schreiben -> wie??
                // settings.Language = language;

                sqliteContext.Settings.Update(settings);
            }
            catch
            {
                settings = new Settings()
                {
                    Theme = "Wooja", CompanyName = companyName, DB = db
                };
                sqliteContext.Settings.Add(settings);
                sqliteContext.SaveChanges();
            }



            //} catch (Exception ex)
            //{
            //    settings = new Settings() { Theme = "Wooja", CompanyName = companyName, DB = db};
            //    sqliteContext.Settings.Add(settings);
            //}

            //   Settings settings = new Settings() { Theme = theme, CompanyName = companyName, Logo = logoPath, MwSt = tax, DB = db, Language = language, Server = server, Port = port, Version = version };

            sqliteContext.SaveChanges();


            return(View(settings));
        }
예제 #20
0
        public static int Add(CreditCardTableData creditCard)
        {
            using var context = new SqliteContext();
            var entity = context.CreditCards.Add(creditCard);

            entity.State = EntityState.Added;
            context.SaveChanges();
            return(creditCard.CreditCardId);
        }
예제 #21
0
        static void Main()
        {
            AutoMapperConfig.Config();

            if (File.Exists("MyDateBase.db"))
            {
                File.Delete("MyDateBase.db");
            }


            using (var db = new SqliteContext("MyDateBase.db"))
            {
                var position = new Position()
                {
                    Description = "Best Programmer"
                };

                db.Positions.Add(position);
                db.SaveChanges();

                var user = new User()
                {
                    Name       = "Kos",
                    Age        = 23,
                    PositionId = position.Id
                };
                db.Users.Add(user);
                db.SaveChanges();
            }

            using (var db = new SqliteContext("MyDateBase.db"))
            {
                var userUpdates = db.Users.ProjectTo <UserUpdate>().ToList();

                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine();

                Console.WriteLine(string.Join(Environment.NewLine, userUpdates));
            }

            Console.ReadKey();
        }
예제 #22
0
 public void AddPwdInfo(SqliteContext context)
 {
     context.DBUser.Add(
         new DBUser()
     {
         name = "tttt"
     }
         );
     context.SaveChanges();
 }
        public static void Add(Customer customer)
        {
            using (var conn = new SqliteContext())
            {
                //if (conn.Customers.Any(w => w.Id == customer.Id))
                //    throw new Exception("Pracownik o tym ID już istnieje");

                conn.Customers.Add(customer);
                conn.SaveChanges();
            }
        }
예제 #24
0
        public async Task <IActionResult> Post([FromBody] Product product)
        {
            if (product == null || product.Id != 0 || String.IsNullOrEmpty(product.ProductName))
            {
                return(StatusCode(StatusCodes.Status400BadRequest));
            }
            await _context.Products.AddAsync(product);

            _context.SaveChanges();

            return(Ok(product));
        }
예제 #25
0
        private async Task Cliente_MessageReceived(SocketMessage arg)
        {
            var mensagem = arg as SocketUserMessage;

            if (mensagem == null || mensagem.Author.IsBot)
            {
                return;
            }

            var context = new SocketCommandContext(_cliente, mensagem);
            int argPost = 0;

            //Se for mensagem privada para o bot
            if (mensagem.Channel is SocketDMChannel)
            {
                var array = mensagem.Content.Split(" ");

                if (array.Length < 2)
                {
                    await mensagem.Author.SendMessageAsync("Cara alguma coisa errada não ta certa, confere o que você digitou ai.");
                }

                var response = new GoobTeams().Login(array[0], array[1]);

                if (response != null && response.Sucesso && !string.IsNullOrWhiteSpace(response.Token))
                {
                    using (var db = new SqliteContext())
                    {
                        db.Usuarios.Add(new Usuario()
                        {
                            Login = array[0], Senha = array[1], IdDiscord = mensagem.Author.Id.ToString()
                        });
                        db.SaveChanges();
                    }

                    await mensagem.Author.SendMessageAsync("Boaaa, consegui autenticar você, volta no chat lá e manda o comando pra modificar o humor, valeu!");
                }
                else
                {
                    await mensagem.Author.SendMessageAsync("Não consegui fazer o login com a info que você me passou, tem certeza que passou os dados certos?");
                }
            }
            else if (mensagem.HasStringPrefix("?", ref argPost))
            {
                var result = await _commands.ExecuteAsync(context, argPost, _services);

                if (!result.IsSuccess)
                {
                    Console.WriteLine(result.ErrorReason);
                }
            }
        }
예제 #26
0
        static void Main(string[] args)
        {
            var context = new SqliteContext(new Uri("http://localhost.fiddler:59145/odata/"));

            context.Format.UseJson();

            // Call some basic Get
            var eventDataItems = context.EventData.ToList();
            var animalsItems   = context.AnimalType.ToList();
            var skillLevels    = context.SkillLevels.Expand("Levels").GetValue();
            var players        = context.Player.Expand(c => c.PlayerStats).Where(u => u.PlayerStats.SkillLevel == 2).ToList();

            // Create a new entity
            var newObjectEventData = new EventData
            {
                AnimalTypeId = animalsItems.First().Key,
                Factor       = 55,
                FixChange    = 55.0,
                StringTestId = "_ok_testdatafromodataclient",
                AnimalType   = animalsItems.First()
            };

            var secondNewObjectEventData = new EventData
            {
                AnimalTypeId = 200,
                Factor       = 44,
                FixChange    = 44.0,
                StringTestId = "_nok_testdatafromodataclient",
            };

            // Update a new entity
            var dataToUpdate = eventDataItems.FirstOrDefault();

            dataToUpdate.Factor    = -1;
            dataToUpdate.FixChange = 97;

            context.AddToEventData(newObjectEventData);
            context.UpdateObject(dataToUpdate);
            context.AddToEventData(secondNewObjectEventData);

            context.AddAndUpdateResponsePreference = DataServiceResponsePreference.IncludeContent;

            // Add the data to the server
            DataServiceResponse response = context.SaveChanges(SaveChangesOptions.BatchWithSingleChangeset);

            foreach (OperationResponse individualResponse in response)
            {
                Console.WriteLine(" status code = {0}", individualResponse.StatusCode);
            }

            Console.ReadLine();
        }
        public static void Add(Worker worker)
        {
            using (var conn = new SqliteContext(@"testDb"))
            {
                if (conn.Workers.Any(w => w.Id == worker.Id))
                {
                    throw new Exception("Pracownik o tym ID już istnieje");
                }

                conn.Workers.Add(worker);
                conn.SaveChanges();
            }
        }
예제 #28
0
        public void Create(int userId, string ip)
        {
            ConnectedUser connectedUser = new ConnectedUser()
            {
                UserId = userId,
                Ip     = ip
            };

            var row = context.ConnectedUsers.SingleOrDefault(c => c.UserId == userId);

            // If already connected, update IP
            if (row != null)
            {
                row.Ip = ip;
            }
            else
            {
                context.ConnectedUsers.Add(connectedUser);
            }

            context.SaveChanges();
        }
예제 #29
0
        public static void Add(Room room)
        {
            using (var conn = new SqliteContext(@"testDb"))
            {
                if (conn.Rooms.Any(p => p.Id == room.Id))
                    throw new Exception("Pokój o tym ID już istnieje");
                if (conn.Rooms.Any(p => p.RoomNumber == room.RoomNumber))
                    throw new Exception("Pokój o tym numerze już istnieje");

                conn.Rooms.Add(room);
                conn.SaveChanges();
            }
        }
        public void Edit(Reservation rez)
        {
            using (var conn = new SqliteContext())
            {
                if (rez.StartTime > rez.StopTime)
                {
                    throw new Exception("Data zakończenia pobytu nie może być mniejsza niż rozpoczęcie pobytu.");
                }
                Reservation rezToChange      = conn.Reservations.Where(p => p.Id == rez.Id).FirstOrDefault();
                Reservation rezBeforeChanges = new Reservation
                {
                    StartTime = rezToChange.StartTime,
                    StopTime  = rezToChange.StopTime
                };
                if (rezToChange != null)
                {
                    rezToChange.IdCustomer = rez.IdCustomer;
                    rezToChange.IdRoom     = rez.IdRoom;
                    rezToChange.StartTime  = rez.StartTime;
                    rezToChange.StopTime   = rez.StopTime;

                    IList <Reservation> reservations = conn.Reservations.Where(p => p.Id != rez.Id && p.IdRoom == rez.IdRoom).ToList();

                    if (reservations.Any(p => p.StartTime.Date == rez.StartTime.Date || p.StopTime.Date == rez.StopTime.Date ||
                                         (p.StartTime.Date > rez.StartTime.Date && p.StartTime.Date < rez.StopTime.Date) ||
                                         (p.StartTime.Date < rez.StartTime.Date && p.StopTime.Date > rez.StartTime.Date) ||
                                         (p.StartTime.Date > rez.StartTime.Date && p.StopTime.Date < rez.StopTime.Date) ||
                                         (p.StartTime.Date < rez.StartTime.Date && p.StopTime.Date > rez.StopTime.Date)))
                    {
                        throw new Exception("W tym terminie pokój jest już zarezerwowany, nie można zmienić terminu rezerwacji");
                    }

                    rezToChange.StartTime = rezToChange.StartTime.AddHours(15);
                    rezToChange.StopTime  = rezToChange.StopTime.AddHours(10);

                    Customer cus  = conn.Customers.FirstOrDefault(p => p.Id == rez.IdCustomer);
                    Room     room = conn.Rooms.FirstOrDefault(p => p.Id == rez.IdRoom);

                    rez.Customer = cus ?? throw new Exception("Nie ma klienta o ID: " + rez.IdCustomer);
                    rez.Room     = room ?? throw new Exception("Nie ma pokoju o ID: " + rez.IdRoom);

                    conn.SaveChanges();

                    EditClining(rezBeforeChanges, rezToChange, conn);
                }
                else
                {
                    throw new Exception("Nie znaleziono rezerwacji do zmodyfikowania");
                }
            }
        }