Beispiel #1
0
        public TimeSpan getMinBreak()
        {
            // get ore min break
            int MBH = 0;
            var Hr  = ManageData.getValue("BHSelected");

            if (Hr != null)
            {
                bool isConvertible = false;
                isConvertible = int.TryParse(Hr.SettingValue, out MBH);
            }


            // get minutes min break
            int MBM = 0;
            var Mn  = ManageData.getValue("BMSelected");

            if (Mn != null)
            {
                bool isConvertible = false;
                isConvertible = int.TryParse(Mn.SettingValue, out MBM);
            }

            TimeSpan MinBreak = new TimeSpan(MBH, MBM, 0);

            return(MinBreak);
        }
Beispiel #2
0
        public void DeleteData_ValidOrInvalidData_Successful()
        {
            const string Message = "Data doesnt exsist in the topicinformation db.";
            //Arrange
            ManageData       manageDataTest   = new ManageData();
            TopicInformation topicinformation = new TopicInformation
            {
                WeekNumber    = 13,
                LastUpdatedBy = "*****@*****.**",
                Topic         = "Revision"
            };
            //Act
            bool isDataDeleted = manageDataTest.DeleData(topicinformation);

            //Assert
            try
            {
                //Returns true if the data passed as parameter to DeteData( data ) function exsists in the database
                Assert.IsTrue(isDataDeleted, "Data exsists to be editted.");
            }
            catch
            {
                ////Returns false if the data passed as parameter to DeteData( data ) function exsist in the database
                Assert.IsFalse(isDataDeleted, Message);
            }
        }
Beispiel #3
0
        public double HoursAvg()
        {
            DateTime weekStartDT = DateTime.Now.AddDays(-(DayOfWeek - 1));
            DateTime weekEndDT   = DateTime.Now.AddDays((-1));

            int weekStart = DayOfYear - (DayOfWeek - 1);
            int weekEnd   = DayOfYear - 1;

            TimeSpan WeekTot = new TimeSpan();
            int      Days    = 0;


            for (DateTime i = weekStartDT; i <= weekEndDT; i = i.AddDays(1))
            {
                int    wstart = i.DayOfYear;
                string ws     = wstart.ToString();
                string y      = Year.ToString();
                var    d      = ManageData.getDay(ws, y);
                if (d != null)
                {
                    string idDay = d.IdDaysWorked.ToString();
                    var    f     = ManageData.getClosedDayHours(idDay);
                    if (f != null)
                    {
                        Days++;
                        foreach (var interval in f)
                        {
                            var start = interval.CheckIn;
                            var end   = interval.CheckOut;

                            DateTime startDT = Convert.ToDateTime(start);
                            DateTime endDT   = Convert.ToDateTime(end);


                            TimeSpan hours = endDT - startDT;
                            WeekTot = WeekTot + hours;
                        }

                        // se c'è una pausa, verifico la durata minima
                        if (f.Count == 2)
                        {
                            //Timespan della pausa
                            DateTime CO1 = DateTime.Parse(f[0].CheckOut);
                            DateTime CI2 = DateTime.Parse(f[1].CheckIn);
                            TimeSpan BR  = CI2 - CO1;

                            //Timespan minimo richiesto dai settings
                            TimeSpan MinReq = getMinBreak();

                            if (BR < MinReq)
                            {
                                WeekTot = WeekTot - (MinReq - BR);
                            }
                        }
                    }
                }
            }

            return(WeekTot.TotalHours / Days);
        }
Beispiel #4
0
        private void frmMain_Load(object sender, EventArgs e)
        {
            #region Login User
            var loginFrm = new frmLogin();
            if (loginFrm.ShowDialog() != DialogResult.OK)
            {
                btnExit_Click(sender, e);
                return;
            }

            userLogin = loginFrm.Tag as UserLogin;

            if (userLogin == null)
            {
                btnExit_Click(sender, e);
                return;
            }

            #endregion

            Helper.CreatePath();
            myProducts = ManageData.myProducts(userLogin);
            fillMyProducts();
            fillUserInfo();
        }
Beispiel #5
0
        private void btcommit_Click(object sender, EventArgs e)//确认提交
        {
            ManageData manageData = new ManageData();

            manageData.AdminNo1             = Keepinformation.AdminNo;
            manageData.StartTime            = Convert.ToDateTime(dtptimestart.Text);
            manageData.EndTime              = Convert.ToDateTime(dtptimeend.Text);
            manageData.VolunteerFirstShare  = Convert.ToDouble(tbvolunteer1.Text.Trim());
            manageData.VolunteerSecondShare = Convert.ToDouble(tbvolunteer2.Text.Trim());
            manageData.VolunteerThirdShare  = Convert.ToDouble(tbvolunteer3.Text.Trim());
            manageData.Grade = Convert.ToDouble(tbscore.Text.Trim());
            //Console.WriteLine(manageData.StartTime);
            //OUTPUT:2020/4/6 00:00  默认时间是00:00
            ad_ServicesBLL bLL = new ad_ServicesBLL();

            if (bLL.Setparambll(manageData) == 1)
            {
                MessageBox.Show("设置成功", "提示", MessageBoxButtons.OK);
                change_enable(false);
            }
            else
            {
                MessageBox.Show("设置失败", "提示", MessageBoxButtons.OK);
            }
        }
Beispiel #6
0
        public static double hoursFromLastCheckIn(string YearDay, string Year)
        {
            double   tot      = 0;
            TimeSpan interval = new TimeSpan();
            var      i        = ManageData.getDay(YearDay, Year);

            if (i != null)

            {
                var p = ManageData.getOpenedDayHours(i.IdDaysWorked.ToString());
                foreach (var item in p)
                {
                    string   c   = item.CheckIn;
                    DateTime cdt = DateTime.Parse(c);
                    DateTime now = DateTime.Now;

                    interval = now - cdt;

                    tot = tot + interval.TotalHours;
                }
            }


            return(tot);
        }
Beispiel #7
0
        public int InsertManage(ManageData manageData)
        {
            string sql = @"insert into Manage (AdminNo1,StartTime,EndTime,VolunteerFirstShare,VolunteerSecondShare,VolunteerThirdShare,Grade) values(@AdminNo1,@StartTime,@EndTime,@VolunteerFirstShare,@VolunteerSencondShare,@VolunteerThirdShare,@Grade)";

            SqlParameter[] sqlParameter = new SqlParameter[]
            {
                new SqlParameter("@AdminNo1", SqlDbType.NVarChar),
                new SqlParameter("@StartTime", SqlDbType.DateTime),
                new SqlParameter("@EndTime", SqlDbType.DateTime),
                new SqlParameter("@VolunteerFirstShare", SqlDbType.Float),
                new SqlParameter("@VolunteerSencondShare", SqlDbType.Float),
                new SqlParameter("@VolunteerThirdShare", SqlDbType.Float),
                new SqlParameter("@Grade", SqlDbType.Float),
            };
            sqlParameter[0].Value = manageData.AdminNo1;
            sqlParameter[1].Value = manageData.StartTime;
            sqlParameter[2].Value = manageData.EndTime;
            sqlParameter[3].Value = manageData.VolunteerFirstShare;
            sqlParameter[4].Value = manageData.VolunteerSecondShare;
            sqlParameter[5].Value = manageData.VolunteerThirdShare;
            sqlParameter[6].Value = manageData.Grade;
            int result = SQLHelper.ExecuteNonQuery(sql, CommandType.Text, sqlParameter);//执行insert/update/delete,返回受影响的行数

            return(result);
        }
Beispiel #8
0
        public double HoursPerDay(string DayYear, string Year)
        {
            TimeSpan DayTot = new TimeSpan();

            DaysWorked day = ManageData.getDay(DayYear, Year);

            if (day != null)
            {
                var idDay = day.IdDaysWorked;
                var f     = ManageData.getClosedDayHours(idDay.ToString());

                if (f != null)
                {
                    //fetch della lista
                    foreach (var interval in f)
                    {
                        var start = interval.CheckIn;
                        var end   = interval.CheckOut;

                        DateTime startDT = Convert.ToDateTime(start);
                        DateTime endDT   = Convert.ToDateTime(end);


                        TimeSpan hours = endDT - startDT;
                        DayTot = DayTot + hours;
                    }

                    // se c'è una pausa, verifico la durata minima
                    if (f.Count == 2)
                    {
                        //Timespan della pausa
                        DateTime CO1 = DateTime.Parse(f[0].CheckOut);
                        DateTime CI2 = DateTime.Parse(f[1].CheckIn);
                        TimeSpan BR  = CI2 - CO1;

                        //Timespan minimo richiesto dai settings
                        TimeSpan MinReq = getMinBreak();

                        if (BR < MinReq)
                        {
                            DayTot = DayTot - (MinReq - BR);
                        }
                    }
                }
            }

            double Tot = DayTot.TotalHours;

            if (Tot < 0)
            {
                return(0);
            }
            else
            {
                return(DayTot.TotalHours);
            }
        }
Beispiel #9
0
    void loadButtonClick()
    {
        print("로드버튼");
        EblockItem ei = ManageData.loadData("");
        MapLoader  ML = GameObject.Find("MapCreator").GetComponent <MapLoader>();

        ML.destroyCurrentMap();
        ML.setData(ei);
        ML.loadMap();
    }
Beispiel #10
0
        public bool checkDayStatus(string IdDayWorked)
        {
            var list = ManageData.getOpenedDayHours(IdDayWorked);

            if (list.Count > 0)
            {
                DependencyService.Get <IAudio>().PlayAudioFile("error.mp3");
                UserDialogs.Instance.ShowError(Traduzioni.Main_1opened);
                return(false);
            }
            return(true);
        }
Beispiel #11
0
        private void tmrCheckOnline_Tick(object sender, EventArgs e)
        {
            var offline = ManageData.OffLineApp();

            if (offline)
            {
                this.Text = "offline";
            }
            else
            {
                this.Text = "online";
            }
        }
Beispiel #12
0
        private void btnLastContent_Click(object sender, EventArgs e)
        {
            var result = ManageData.lastContent();

            if (result == null)
            {
                return;
            }

            var show = new frmShowPedia(result, "آخرین محتوا");

            show.ShowDialog();
        }
Beispiel #13
0
        private void btnBookmark_Click(object sender, EventArgs e)
        {
            var result = ManageData.bookmark(userLogin);

            if (result == null)
            {
                return;
            }

            var show = new frmShowPedia(result, "بوکمارک ها");

            show.ShowDialog();
        }
        private void Btn_Del_Holiday_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBox.Show("Are you sure want to delete this record?", "Delete Warning!", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                ManageData _manage = new ManageData();

                _manage.DeleteTypeLeave(Convert.ToInt16((DataGridTypeLeave.SelectedCells[0].Column.GetCellContent(item) as TextBlock).Text));
            }
            else
            {
                MessageBox.Show("Delete Record Successfully Canceled!");
            }
        }
Beispiel #15
0
        private void btnSuggestion_Click(object sender, EventArgs e)
        {
            var result = ManageData.suggestion(userLogin);

            if (result == null)
            {
                return;
            }


            var show = new frmShowPedia(result, "پیشنهادات");

            show.ShowDialog();
        }
Beispiel #16
0
        public void StopWatchIn()
        {
            var    idDW        = ManageData.getDay(DayOfYear.ToString(), Year.ToString());
            string IdDayWorked = idDW.IdDaysWorked.ToString();

            bool i = checkDayEntry(IdDayWorked);
            bool a = checkDayStatus(IdDayWorked);

            if ((i) && (a))
            {
                int x = 0;
                if (Int32.TryParse(IdDayWorked, out x))
                {
                    int             IdDayWorkedInt = Int32.Parse(IdDayWorked);
                    DaysWorkedHours dati           = new DaysWorkedHours();
                    var             now            = DateTime.Now;
                    dati.IdDaysWorked = IdDayWorkedInt;
                    dati.CheckIn      = now.ToString();
                    if (ManageData.InsertDayHours(dati) == 1)
                    {
                        DependencyService.Get <IAudio>().PlayAudioFile("pop.mp3");
                        UserDialogs.Instance.ShowSuccess(Traduzioni.Main_insert);
                    }
                    else
                    {
                        DependencyService.Get <IAudio>().PlayAudioFile("error.mp3");
                        UserDialogs.Instance.ShowError(Traduzioni.Main_insertError2);
                    }
                }
                else
                {
                    DependencyService.Get <IAudio>().PlayAudioFile("error.mp3");
                    UserDialogs.Instance.ShowError(Traduzioni.Main_castError);
                }

                timer.Start();

                //send notification if enabled
                if (functions.enableNotification() > 0)
                {
                    var last   = ManageData.lastDaysWorkedHours();
                    var sbuild = new StringBuilder();
                    var text   = sbuild.AppendFormat(Traduzioni.Notification_desc, functions.enableNotification().ToString());
                    var id     = last.IdDaysWorkedHours;
                    // DateTime.Now.AddMinutes(functions.enableNotification())
                    CrossLocalNotifications.Current.Show(Traduzioni.Notification_title, text.ToString(), id, DateTime.Now.AddHours(functions.enableNotification()));
                }
            }
        }
Beispiel #17
0
        public void StopWatchOut()
        {
            bool   i       = setCheckout();
            double WeekTot = HoursSum();

            Percentage = functions.setProgressBar(HoursNum, WeekTot);
            functions.changePage(new View.MainPage());
            timer.Stop();
            //send notification if enabled
            if (functions.enableNotification() > 0)
            {
                var last = ManageData.lastDaysWorkedHours();
                CrossLocalNotifications.Current.Cancel(last.IdDaysWorkedHours);
            }
        }
Beispiel #18
0
        public bool setCheckout()
        {
            var    idDW        = ManageData.getDay(DayOfYear.ToString(), Year.ToString());
            string IdDayWorked = idDW.IdDaysWorked.ToString();

            var list = ManageData.getOpenedDayHours(IdDayWorked);

            switch (list.Count)
            {
            case 0:
                DependencyService.Get <IAudio>().PlayAudioFile("error.mp3");
                UserDialogs.Instance.ShowError(Traduzioni.Main_noToClose);
                return(false);

            case 1:

                DaysWorkedHours dati    = new DaysWorkedHours();
                var             now     = DateTime.Now;
                var             current = list.FirstOrDefault();

                dati.CheckIn           = current.CheckIn;
                dati.IdDaysWorked      = current.IdDaysWorked;
                dati.IdDaysWorkedHours = current.IdDaysWorkedHours;
                dati.CheckOut          = now.ToString();
                if (ManageData.UpdateDayHours(dati) == 1)
                {
                    DependencyService.Get <IAudio>().PlayAudioFile("woosh.mp3");
                    UserDialogs.Instance.ShowSuccess(Traduzioni.Main_Closed);
                    return(true);
                }
                else
                {
                    DependencyService.Get <IAudio>().PlayAudioFile("error.mp3");
                    UserDialogs.Instance.ShowError(Traduzioni.Main_insertError);
                    return(false);
                }

            case 2:
                DependencyService.Get <IAudio>().PlayAudioFile("error.mp3");
                UserDialogs.Instance.ShowError(Traduzioni.Main_moreThan1);
                return(false);

            default:
                DependencyService.Get <IAudio>().PlayAudioFile("error.mp3");
                UserDialogs.Instance.ShowError(Traduzioni.Main_countError);
                return(false);
            }
        }
Beispiel #19
0
        public async void DelSet()
        {
            var result = await UserDialogs.Instance.ConfirmAsync(new ConfirmConfig
            {
                Message    = Traduzioni.Setting_confirmMessage,
                OkText     = Traduzioni.Setting_confirm_yes,
                CancelText = Traduzioni.Setting_confirm_no
            });

            if (result)
            {
                ManageData.delDayHours(SelectedDay.IdDaysWorked);
                In1 = In2 = Out1 = Out2 = TimeSpan.FromSeconds(0.1);
                functions.changePage(new View.MainPage());
            }
        }
        private void Btn_Update_Holiday_Click(object sender, RoutedEventArgs e)
        {
            ManageData _manage = new ManageData();

            if (txtHoliday.Text.Length != 0 && getStartDate.Text.Length != 0 && getEndDate.Text.Length != 0)
            {
                string   _name = txtTypeLeave.Text;
                DateTime sDate = Convert.ToDateTime(getStartDate.Text);
                DateTime eDate = Convert.ToDateTime(getEndDate.Text);

                _manage.Update_Holiday(Convert.ToInt16((DataGridTypeLeave.SelectedCells[0].Column.GetCellContent(item) as TextBlock).Text), _name, sDate, eDate);
            }
            else
            {
                MessageBox.Show("Please Fill All DATA!");
            }
        }
Beispiel #21
0
        public async void DelRow(DaysWorked p1)
        {
            var result = await UserDialogs.Instance.ConfirmAsync(new ConfirmConfig
            {
                Message    = Traduzioni.Setting_confirmMessage,
                OkText     = Traduzioni.Setting_confirm_yes,
                CancelText = Traduzioni.Setting_confirm_no
            });

            if (result)
            {
                DaysWorked day = ManageData.getDay(p1.YearDay, p1.Year);
                ManageData.delDayHours(day.IdDaysWorked);
                UserDialogs.Instance.ShowSuccess(Traduzioni.Settings_SaveSetOk);
                functions.changePage(new MainPage());
            }
        }
Beispiel #22
0
        public void PlayAudioFile(string fileName)
        {
            var fx = ManageData.getValue("PlaySound");

            if (fx.SettingValue != "False")
            {
                var player = new MediaPlayer();
                var fd     = global::Android.App.Application.Context.Assets.OpenFd(fileName);

                player.Prepared += (s, e) =>
                {
                    player.Start();
                };

                player.SetDataSource(fd.FileDescriptor, fd.StartOffset, fd.Length);
                player.Prepare();
            }
        }
Beispiel #23
0
        public static bool checkReqSet()
        {
            var DaysNumber = ManageData.getValue("WdSelected");

            if (DaysNumber == null)
            {
                return(false);
            }

            var HoursNumber = ManageData.getValue("OsSelected");

            if (HoursNumber == null)
            {
                return(false);
            }


            return(true);
        }
Beispiel #24
0
        private void bckWrkr_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                picWait.Invoke((MethodInvoker) delegate
                {
                    picWait.Visible = true;
                });


                var resultLogin = ManageData.login(txtUsername.Text, txtPassword.Text);
                this.Tag          = resultLogin;
                this.DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Beispiel #25
0
        public async void DelSet()
        {
            var result = await UserDialogs.Instance.ConfirmAsync(new ConfirmConfig
            {
                Message    = Traduzioni.Setting_confirmMessage,
                OkText     = Traduzioni.Setting_confirm_yes,
                CancelText = Traduzioni.Setting_confirm_no
            });

            if (result)
            {
                ManageData.delSettings();
                BHIndex    = -1;
                WdIndex    = -1;
                OsIndex    = -1;
                BMIndex    = -1;
                isSelected = true;
            }
        }
Beispiel #26
0
        public vmLanguagePage()
        {
            this.Lingue = new List <Lingua>();
            Lingue.Add(new Lingua {
                langCode = "en-GB", languageName = "English"
            });
            Lingue.Add(new Lingua {
                langCode = "it-IT", languageName = "Italian"
            });

            try
            {
                var i = ManageData.getLang();
                LangSelected = Lingue.Where(x => x.langCode == i.LangCode).FirstOrDefault();
            }
            catch (Exception e)
            {
                //OpStatus = "Not set" + e;
            }
        }
Beispiel #27
0
        public App()
        {
            InitializeComponent();
            ManageData.CreaDataBase();
            //setto la lingua di default dell'applicazione
            var currentLang = ManageData.getLang();

            System.Globalization.CultureInfo lingua;
            if (currentLang == null)
            {
                lingua = new System.Globalization.CultureInfo("en-GB");
            }
            else
            {
                lingua = new System.Globalization.CultureInfo(currentLang.LangCode);
            }

            Traduzioni.Culture = lingua;
            MainPage           = new View.MenuPage();
        }
Beispiel #28
0
        private void click_GenerateLocalDatabase(object sender, RoutedEventArgs e)
        {
            if (!(string.IsNullOrEmpty(url)) && url.Substring(url.Length - 5) == ".xlsx" && !isProcessing)
            {
                isProcessing = true;
                bool tmp = false;

                if (myFarm != null)
                {
                    string res;
                    try
                    {
                        res = ManageData.ProcessFile(url, myFarm);
                    }
                    catch
                    {
                        res = "This software appears to be malfunctioning, please restart the application and try again.";
                    }
                    if (res != "" && res != null)
                    {
                        MessageBox.Show(res);

                        if (!tmp)
                        {
                            UpdateUploadStatus(UploadStatus.GenerateLocal);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("You are not currently assigned to any farm.");
                }
            }
            else
            {
                MessageBox.Show("Incorrect File or Directory");
                MessageBox.Show(url);
            }
            isProcessing = false;
            MessageBox.Show("Process Complete!");
        }
Beispiel #29
0
        public void InsertSystem <T>(Type type, AddSystem <T> addDelegate, RemoveSystem <T> removeDelegate)
            where T : struct
        {
            var data = new ManageData
            {
                Handle   = this,
                Behavior = m_Playable,
                Index    = m_SystemData.Count,
                Graph    = m_PlayableGraph
            };

            m_SystemData[type] = new SystemData <T>
            {
                Data           = new T(),
                Index          = m_SystemData.Count,
                Type           = type,
                RemoveDelegate = removeDelegate
            };

            addDelegate(ref data, ref ((SystemData <T>)m_SystemData[type]).Data);
        }
Beispiel #30
0
        public bool SaveLang()
        {
            var lingua = new Language();

            lingua.LangCode     = LangSelected.langCode;
            lingua.LanguageName = LangSelected.languageName;
            var op = 0;

            ManageData.delLanguage();
            try
            {
                op = ManageData.InsertLanguage(lingua);
                Acr.UserDialogs.UserDialogs.Instance.ShowSuccess("");
                var linguaCorrente = new System.Globalization.CultureInfo(lingua.LangCode);
                Traduzioni.Culture = linguaCorrente;
            }
            catch (Exception e)
            {
            }

            return(true);
        }
Beispiel #31
0
        static void Main(string[] args)
        {
            // run only once
            #region fill database with data

            //using (var context = new MusicHouseContext())
            //{
            //    #region songs
            //    var song1 = new Song();
            //    song1.Title = "song1";
            //    song1.Genre = "metal";
            //    context.Songs.Add(song1);

            //    var song2 = new Song();
            //    song2.Title = "song2";
            //    song2.Genre = "metal";
            //    context.Songs.Add(song2);
            //    #endregion

            //    #region artists
            //    var artist1 = new Artist();
            //    artist1.Name = "Metalica";
            //    artist1.Country = "us";
            //    artist1.Songs = new List<Song>();
            //    artist1.Songs.Add(song1);
            //    artist1.Songs.Add(song2);
            //    context.Artists.Add(artist1);

            //    var artist2 = new Artist();
            //    artist2.Name = "Manowar";
            //    artist2.Country = "bg";
            //    artist2.Songs = new List<Song>();
            //    artist2.Songs.Add(song1);
            //    artist2.Songs.Add(song2);
            //    context.Artists.Add(artist2);
            //    #endregion

            //    #region albums
            //    var album1 = new Album();
            //    album1.Title = "album-black";
            //    album1.ReleaseDate = new DateTime(1986, 10, 20);
            //    album1.Producer = "virginia-records";
            //    album1.Artists = new List<Artist>();
            //    album1.Artists.Add(artist1);
            //    album1.Songs = new List<Song>();
            //    album1.Songs.Add(song1);
            //    album1.Songs.Add(song2);
            //    context.Albums.Add(album1);

            //    var album2 = new Album();
            //    album2.Title = "album-white";
            //    album2.ReleaseDate = new DateTime(1986, 10, 20);
            //    album2.Producer = "virginia-records";
            //    album2.Artists = new List<Artist>();
            //    album2.Artists.Add(artist1);
            //    album2.Artists.Add(artist2);
            //    album2.Songs = new List<Song>();
            //    album2.Songs.Add(song1);
            //    album2.Songs.Add(song2);
            //    context.Albums.Add(album2);
            //    #endregion

            //    context.SaveChanges();
            //}

            #endregion

            ManageData manageData = new ManageData(baseUrl);

            // uncomment to test 
            // same code is for songs and artists
            // with the appropriate checks for existing constraints

            #region GET

            var responseGet = manageData.Get("/album");
            if (responseGet.IsSuccessStatusCode)
            {
                var albums = responseGet.Content.
                    ReadAsAsync<IEnumerable<Album>>().Result;
                foreach (var a in albums)
                {
                    Console.WriteLine("{0,4} {1,-20} {2}",
                        a.AlbumId, a.Title, a.ReleaseDate);
                    if (a.Artists != null)
                    {
                        foreach (var artist in a.Artists)
                        {
                            Console.WriteLine("artist name: {0} {1} {2}",
                                artist.Name, artist.Country, artist.DateOfBirth);
                        }
                    }
                }
            }
            else
            {
                Console.WriteLine("{0} ({1})",
                    (int)responseGet.StatusCode, responseGet.ReasonPhrase);
            }

            #endregion

            #region PUT

            //
            var newAlbum = new Album();
            newAlbum.AlbumId = 1;
            newAlbum.Title = "album-red";
            newAlbum.ReleaseDate = new DateTime(2000, 9, 9);
            newAlbum.Producer = "niki";
            //
            var newArtist = new Artist();
            newArtist.ArtistId = 1;
            //
            newAlbum.Artists = new List<Artist>();
            newAlbum.Artists.Add(newArtist);

            var responsePut = manageData.UpdateAsJson<Album>(newAlbum, "/album", newAlbum.AlbumId);
            if (responsePut.IsSuccessStatusCode)
            {
                Console.WriteLine("Album updated!");
            }
            else
            {
                Console.WriteLine("{0} ({1})",
                    (int)responsePut.StatusCode, responsePut.ReasonPhrase);
            }

            #endregion

            #region POST

            var newAlbum2 = new Album();
            newAlbum2.Title = "album-orange";
            newAlbum2.ReleaseDate = new DateTime(1999, 10, 20);
            newAlbum2.Producer = "sony-records";

            #region create as JSON
            
            var responsePostJSON = manageData.CreateAsJson<Album>(newAlbum2, "/Album");
            if (responsePostJSON.IsSuccessStatusCode)
            {
                Console.WriteLine("Album added as JSON!");
            }
            else
            {
                Console.WriteLine("{0} ({1})",
                    (int)responsePostJSON.StatusCode, responsePostJSON.ReasonPhrase);
            } 

            #endregion

            #region create as XML

            var responsePostXML = manageData.CreateAsXML<Album>(newAlbum2, "/Album");
            if (responsePostXML.IsSuccessStatusCode)
            {
                Console.WriteLine("Album added as XML!");
            }
            else
            {
                Console.WriteLine("{0} ({1})",
                    (int)responsePostXML.StatusCode, responsePostXML.ReasonPhrase);
            } 

            #endregion

            #endregion

            #region DELETE

            //var albumId = 2;

            //HttpResponseMessage responseDel = manageData.Delete("/Album", albumId);
            //if (responseDel.IsSuccessStatusCode)
            //{
            //    Console.WriteLine("Album with id: {0} deleted successfully!", albumId);
            //}
            //else
            //{
            //    Console.WriteLine("{0} ({1})",
            //        (int)responseDel.StatusCode, responseDel.ReasonPhrase);
            //}

            #endregion
        }