示例#1
0
 /// <summary>
 /// save complete new Item
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public PostGroupItem saveNewPostGroupItem(PostGroupItem item)
 {
     sqlConnection = null;
     sqlConnection = TimeTableDatabase.getConnection();
     try
     {
         using (sqlConnection)
         {
             string SQL = "INSERT INTO [newsgroup] ([newsgroupname])  " +
                          "VALUES ('" + item.Name.ToString() + "');" +
                          "SELECT SCOPE_IDENTITY()";
             sqlConnection.Open();
             SqlCommand myCommand = new SqlCommand(SQL, sqlConnection);
             int        LastID    = Convert.ToInt32(myCommand.ExecuteScalar());
             sqlConnection.Close();
             sqlConnection    = null;
             item.PostGroupID = LastID;
             return(item);
         }
     }
     catch (System.Exception)
     {
         return(null);
     }
 }
示例#2
0
        public PostGroupItem editPostGroupItem(int id, PostGroupItem item)
        {
            string tempfile_postgroup     = Path.GetTempFileName();
            string tempfile_postgroupuser = Path.GetTempFileName();

            using (StreamReader sr_pg = new StreamReader(filename_postgroup))
                using (StreamWriter sw_pg = new StreamWriter(tempfile_postgroup))
                {
                    string[] lineparams;
                    string   line = string.Empty;

                    while (!sr_pg.EndOfStream)
                    {
                        lineparams = sr_pg.ReadLine().Split(";");
                        int _id = Convert.ToInt32(lineparams[0]);

                        lineparams = _id == id?this.getStringArray(item) : lineparams;

                        sw_pg.WriteLine(lineparams.Aggregate((phrase, word) => $"{phrase};{word}"));
                    }
                }

            File.Delete(filename_postgroup);
            File.Move(tempfile_postgroup, filename_postgroup);

            //File.Delete(filename_postgroupuser);
            //File.Move(tempfile_postgroupuser, filename_postgroupuser);

            return(item);
        }
示例#3
0
        /// <summary>
        /// return all groups in a array
        /// </summary>
        /// <returns></returns>
        public PostGroupItem[] getPostGroupItems()
        {
            sqlConnection = null;
            sqlConnection = TimeTableDatabase.getConnection();
            try
            {
                using (sqlConnection)
                {
                    PostGroupItem        SQLItem = new PostGroupItem();
                    List <PostGroupItem> lstPGI  = new List <PostGroupItem>();
                    string SQL = "SELECT [newsgroupid],[newsgroupname] " +
                                 " FROM[newsgroup];";

                    sqlConnection.Open();
                    SqlDataReader myReader  = null;
                    SqlCommand    myCommand = new SqlCommand(SQL, sqlConnection);
                    myReader = myCommand.ExecuteReader();

                    while (myReader.Read())
                    {
                        SQLItem.Name        = myReader["newsgroupname"].ToString();
                        SQLItem.PostGroupID = Convert.ToInt32(myReader["newsgroupid"]);
                        lstPGI.Add(SQLItem);
                        SQLItem = new PostGroupItem();
                    }
                    sqlConnection.Close();
                    sqlConnection = null;
                    return(lstPGI.ToArray());
                }
            }
            catch (System.Exception)
            {
                return(null);
            }
        }
示例#4
0
 private string getStringFromPostGroupItem(PostGroupItem item)
 {
     return(item.PostGroupID + ";"
            + item.Name + ";"
            + item.IsActive + ";"
            + item.CreationDate + ";"
            + item.EditDate);
 }
示例#5
0
        public IActionResult getPostGroupItem(int id)
        {
            PostGroupItem item = postGroupDB.getPostGroupItem(id);

            if (item == null)
            {
                return(NotFound($"No PostGroupItem found for ID {id}"));
            }
            return(Ok(item));
        }
示例#6
0
        public string[] getStringArray(PostGroupItem item)
        {
            List <string> ret = new List <string>();

            ret.Add(item.PostGroupID.ToString());
            ret.Add(item.Name.ToString());
            ret.Add(item.IsActive.ToString());
            ret.Add(item.CreationDate.ToString());
            ret.Add(item.EditDate.ToString());
            return(ret.ToArray());
        }
示例#7
0
        private PostGroupItem getPostGroupItemFromStringLine(string line)
        {
            string[]      args = line.Split(";");
            PostGroupItem item = new PostGroupItem
            {
                PostGroupID  = Convert.ToInt32(args[0]),
                Name         = args[1],
                IsActive     = Convert.ToBoolean(args[2]),
                CreationDate = Convert.ToDateTime(args[3]),
                EditDate     = Convert.ToDateTime(args[4])
            };

            return(item);
        }
示例#8
0
 public IActionResult updatePostGroupItem(int id, [FromBody] PostGroupItem item)
 {
     if (item == null)
     {
         return(BadRequest($"No {nameof(PostGroupItem)} found in body"));
     }
     item.PostGroupID = id;
     item.EditDate    = DateTime.Now;
     try
     {
         postGroupDB.editPostGroupItem(id, item);
         return(Ok(item));
     }
     catch (System.Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
示例#9
0
 public IActionResult postPostGroupItem(PostGroupItem item)
 {
     //TODO Should the Name be unique?
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     item.CreationDate = DateTime.Now;
     try
     {
         item = postGroupDB.saveNewPostGroupItem(item);
         return(Created("", item));
     }
     catch (System.Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
示例#10
0
        /// <summary>
        /// save complete new Item
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public PostGroupItem saveNewPostGroupItem(PostGroupItem item)
        {
            try
            {
                if (File.Exists(filename_postgroup))
                {
                    item.PostGroupID = getMaxUsedPostGroupID() + 1;

                    File.AppendAllLines(filename_postgroup, new string[] { getStringFromPostGroupItem(item) });
                }
            }
            catch (System.Exception ex)
            {
                throw new System.Exception($"{MethodInfo.GetCurrentMethod()}-Fehler: {ex.Message}");
            }

            return(item);
        }
示例#11
0
        public PostGroupItem getPostGroupItem(int id)
        {
            PostGroupItem item = null;

            using (StreamReader sr = new StreamReader(filename_postgroup))
            {
                string currentLine = null;
                while ((currentLine = sr.ReadLine()) != null)
                {
                    PostGroupItem foundedItem = getPostGroupItemFromStringLine(currentLine);
                    if (foundedItem.PostGroupID == id)
                    {
                        item = foundedItem;
                    }
                }
            }
            return(item);
        }
示例#12
0
        /// <summary>
        /// return groupitem by id
        /// </summary>
        /// <returns></returns>
        public PostGroupItem getPostGroupItem(int id)
        {
            sqlConnection = null;
            sqlConnection = TimeTableDatabase.getConnection();
            try
            {
                using (sqlConnection)
                {
                    PostGroupItem SQLItem = new PostGroupItem();
                    string        SQL     = "SELECT [newsgroupid],[newsgroupname] " +
                                            " FROM[newsgroup] WHERE [newsgroupid]=" + id.ToString() + ";";

                    sqlConnection.Open();
                    SqlDataReader myReader  = null;
                    SqlCommand    myCommand = new SqlCommand(SQL, sqlConnection);
                    myReader = myCommand.ExecuteReader();

                    if (myReader.Read())
                    {
                        SQLItem.Name        = myReader["newsgroupname"].ToString();
                        SQLItem.PostGroupID = Convert.ToInt32(myReader["newsgroupid"]);
                        sqlConnection.Close();
                        sqlConnection = null;
                        return(SQLItem);
                    }
                    else
                    {
                        sqlConnection.Close();
                        sqlConnection = null;
                        return(null);
                    }
                }
            }
            catch (System.Exception)
            {
                return(null);
            }
        }
示例#13
0
 /// <summary>
 /// Update existing Postgroup-Item by ID and replacing
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public PostGroupItem editPostGroupItem(int id, PostGroupItem item)
 {
     sqlConnection = null;
     sqlConnection = TimeTableDatabase.getConnection();
     try
     {
         using (sqlConnection)
         {
             string SQL = "UPDATE [newsgroup] SET " +
                          "[newsgroupname]='" + item.Name + "'" +
                          " WHERE [newsgroupid] ='" + item.PostGroupID.ToString() + "';";
             sqlConnection.Open();
             SqlCommand myCommand = new SqlCommand(SQL, sqlConnection);
             myCommand.ExecuteNonQuery();
             sqlConnection.Close();
             sqlConnection = null;
             return(item);
         }
     }
     catch (System.Exception)
     {
         return(null);
     }
 }