Exemplo n.º 1
0
        public SongApplication_ReturnType RemoveSongInfo(string albumId, string songId, string songName)
        {
            SongApplication_ReturnType resultRC = new SongApplication_ReturnType();
            string excMsg = string.Empty;

            try
            {
                if (string.IsNullOrEmpty(songId.Trim()))
                {
                    excMsg = @"Missing SongId value.";
                }
                else if (string.IsNullOrEmpty(albumId.Trim()))
                {
                    excMsg = @"Missing albumId vlaue.";
                }
                if (!string.IsNullOrEmpty(excMsg))
                {
                    throw new Exception(excMsg);
                }

                SongApplicationDataAccess.DeleteXMLSongInfo(albumId, songId, songName);
                resultRC.Status            = 0;
                resultRC.StatusDescription = @"";
            }
            catch (Exception e)
            {
                resultRC.Status            = -1;
                resultRC.StatusDescription = @"Excetion::" + e.TargetSite + " - " + e.Message;
            }
            return(resultRC);
        }
Exemplo n.º 2
0
        public SongApplication_ReturnType UpdateSongInfo(string songId, string albumId, string songName, string albumName, string songLength, string trackNumber, string genre)
        {
            SongApplication_ReturnType resultRC = new SongApplication_ReturnType();
            string excMsg = string.Empty;

            try
            {
                if (string.IsNullOrEmpty(songId.Trim()))
                {
                    excMsg = @"Missing SongId value.";
                }
                else if (string.IsNullOrEmpty(albumId.Trim()))
                {
                    excMsg = @"Missing albumId vlaue.";
                }
                if (!string.IsNullOrEmpty(excMsg))
                {
                    throw new Exception(excMsg);
                }

                resultRC = manageSongRecord(albumName, songName, songLength, trackNumber, genre, @"song", @"update", ref songId, albumId);
            }
            catch (Exception e)
            {
                resultRC.Status            = -1;
                resultRC.StatusDescription = @"Excetion::" + e.TargetSite + " - " + e.Message;
            }
            return(resultRC);
        }
Exemplo n.º 3
0
        public static string UpdateSongData(string albumId, string songId, string albumName, string songName, string length, string trackNumber, string genre)
        {
            SongServiceClient song = new SongServiceClient();
            SongApplication_ReturnType songRC = new SongApplication_ReturnType();

            songRC = song.UpdateSongInfo(songId, albumId, songName, albumName, length, trackNumber, genre);
            return songRC.Status.ToString();
        }
Exemplo n.º 4
0
        public static string UpdateSongData(string albumId, string songId, string albumName, string songName, string length, string trackNumber, string genre)
        {
            SongServiceClient          song   = new SongServiceClient();
            SongApplication_ReturnType songRC = new SongApplication_ReturnType();

            songRC = song.UpdateSongInfo(songId, albumId, songName, albumName, length, trackNumber, genre);
            return(songRC.Status.ToString());
        }
Exemplo n.º 5
0
        public static List<string> AddSongRecord(string albumId, string albumName, string songName, string length, string trackNumber, string genre)
        {
            SongServiceClient song = new SongServiceClient();
            SongApplication_ReturnType songRC = new SongApplication_ReturnType();
            List<string> id = new List<string>();
            string songId = string.Empty;

            songRC = song.AddSongToAlbum(albumName, albumId, songName, length, trackNumber, genre, ref songId);
            id.Add(songId);

            return id;
        }
Exemplo n.º 6
0
        public static List <string> AddSongRecord(string albumId, string albumName, string songName, string length, string trackNumber, string genre)
        {
            SongServiceClient          song   = new SongServiceClient();
            SongApplication_ReturnType songRC = new SongApplication_ReturnType();
            List <string> id     = new List <string>();
            string        songId = string.Empty;

            songRC = song.AddSongToAlbum(albumName, albumId, songName, length, trackNumber, genre, ref songId);
            id.Add(songId);

            return(id);
        }
Exemplo n.º 7
0
        public SongApplication_ReturnType AddSongToAlbum(string albumName, string albumId, string songName, string songLength, string trackNumber, string genre, ref string songId)
        {
            SongApplication_ReturnType resultRC = new SongApplication_ReturnType();
            string tagName = @"song";
            string excMsg  = string.Empty;

            try
            {
                if (!string.IsNullOrEmpty(albumName))
                {
                    albumName = albumName.Trim();
                }
                if (!string.IsNullOrEmpty(songName))
                {
                    songName = songName.Trim();
                }
                if (!string.IsNullOrEmpty(genre))
                {
                    genre = genre.Trim();
                }

                if (string.IsNullOrEmpty(albumName))
                {
                    excMsg = @"Missing Album Name value.";
                }
                else if (string.IsNullOrEmpty(songName))
                {
                    excMsg = @"Missing Song's Title value.";
                }
                else if (string.IsNullOrEmpty(genre))
                {
                    excMsg = @"Missing Genre value.";
                }

                if (!string.IsNullOrEmpty(excMsg))
                {
                    throw new Exception(excMsg);
                }

                resultRC = manageSongRecord(albumName, songName, songLength, trackNumber, genre, tagName, @"insert", ref songId, albumId);
            }
            catch (Exception e)
            {
                resultRC.Status            = -1;
                resultRC.StatusDescription = @"Excetion::" + e.TargetSite + " - " + e.Message;
            }
            return(resultRC);
        }
Exemplo n.º 8
0
        private static SongApplication_ReturnType manageSongRecord(string albumName, string songName, string songLength, string trackNumber, string genre, string tagName, string action, ref string songId, string albumId)
        {
            SongApplication_ReturnType  dataRC     = new SongApplication_ReturnType();
            List <AlbumInfo_ReturnType> updateData = new List <AlbumInfo_ReturnType>();

            AlbumInfo_ReturnType record = new AlbumInfo_ReturnType();
            DataSet dataSet             = new DataSet();
            string  connectDB           = string.Empty;
            Random  rand = new Random(); //0 = SQL, 1 = XML

            try
            {
                if (ConfigurationManager.AppSettings[@"connectionString"] != null)
                {
                    connectDB = Convert.ToString(ConfigurationManager.AppSettings[@"connectionString"]);
                }
                ObjectCache updateCache = MemoryCache.Default;

                if (action.Equals(@"update"))
                {
                    if (rand.Next(2) == 0)
                    {
                        //sql
                        dataSet = SongApplicationDataAccess.GetDataSet(2, connectDB, albumId, songId, songName, songLength, trackNumber, genre);
                        dataRC.StatusDescription = "Update Song was successful.";
                        dataRC.Status            = 0;
                    }
                    else
                    {
                        //xml
                        SongApplicationDataAccess.UpdateXMLSongInfo(songId, albumId, songName, songLength, trackNumber, genre, tagName);
                        dataRC.Status            = 0;
                        dataRC.StatusDescription = "Update request was successful";
                    }
                    if (updateCache.Contains(albumName))
                    {
                        updateData = (List <AlbumInfo_ReturnType>)updateCache.Get(albumName);
                        if (updateData != null && updateData.Count > 0)
                        {
                            for (int i = 0; i < updateData.Count; i++)
                            {
                                if (updateData[i].SongId.ToString().Equals(songId) && updateData[i].AlbumId.ToString().Equals(albumId))
                                {
                                    updateData[i].SongName    = songName;
                                    updateData[i].Length      = songLength;
                                    updateData[i].TrackNumber = trackNumber;
                                    updateData[i].Genre       = genre;
                                }
                            }
                        }
                        CacheItemPolicy cachePolicy = new CacheItemPolicy();
                        cachePolicy.AbsoluteExpiration = DateTime.Now.AddHours(1);
                        updateCache.Set(albumName, updateData, cachePolicy);
                    }
                }
                else if (action.Equals(@"insert"))
                {
                    if (rand.Next(2) == 0)
                    {
                        //sql
                        dataSet = SongApplicationDataAccess.GetDataSet(1, connectDB, albumId, albumName, songName, songLength, trackNumber, genre);
                        if (dataSet != null && dataSet.Tables != null && dataSet.Tables.Count > 0 && dataSet.Tables[0].Rows != null && dataSet.Tables[0].Rows.Count > 0)
                        {
                            if (Convert.IsDBNull(dataSet.Tables[0].Rows[0][@"SongId"]) != null)
                            {
                                songId = Convert.IsDBNull(dataSet.Tables[0].Rows[0][@"SongId"]).ToString();
                            }
                        }
                    }
                    else
                    {
                        //xml
                        SongApplicationDataAccess.insertXMLSongInfo(albumName, albumId, songName, songLength, trackNumber, genre, tagName, ref songId);
                        if (string.IsNullOrEmpty(songId))
                        {
                            dataRC.StatusDescription = "Failed to insert record in XML Data source. This can be due to albumn record does not exsits.";
                            dataRC.Status            = -1;
                        }
                    }
                    if (string.IsNullOrEmpty(songId))
                    {
                        dataRC.StatusDescription = "Failed to insert song.";
                        dataRC.Status            = -1;
                    }
                    else
                    {
                        dataRC.StatusDescription = "Tnsert song request was succesful.";
                        dataRC.Status            = 0;
                        if (updateCache.Contains(albumName))
                        {
                            updateData = (List <AlbumInfo_ReturnType>)updateCache.Get(albumName);
                            if (updateCache != null)
                            {
                                record.AlbumId     = Convert.ToInt32(albumId);
                                record.AlbumName   = albumName;
                                record.SongId      = Convert.ToInt32(songId);
                                record.SongName    = songName;
                                record.Length      = songLength;
                                record.TrackNumber = trackNumber;
                                record.Genre       = genre;
                                updateData.Add(record);
                            }
                            CacheItemPolicy cachePolicy = new CacheItemPolicy();
                            cachePolicy.AbsoluteExpiration = DateTime.Now.AddHours(1);
                            updateCache.Set(albumName, updateData, cachePolicy);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                dataRC.Status            = -1;
                dataRC.StatusDescription = @"Excetion::" + e.TargetSite + " - " + e.Message;
            }
            return(dataRC);
        }