private void cmdSaveCustomer_Click(object sender, RoutedEventArgs e)
 {
         var viewModel = new CustomerFormViewModel();
         viewModel.Organization = txtOrganization.Text;
         viewModel.ContactName = txtName.Text;
         viewModel.NumOfPeople = Convert.ToInt32(txtNumOfPpl.Text!="" ? txtNumOfPpl.Text:"0");
         viewModel.Purpose = txtPurpose.Text;
         viewModel.PhoneNumber = txtPhoneNumber.Text;
         viewModel.FromDate = Convert.ToDateTime(txtFromDate.Text != "" ? txtFromDate.Text : DateTime.Now.ToString());
         viewModel.ToDate = Convert.ToDateTime(txtToDate.Text != "" ? txtToDate.Text : DateTime.Now.ToString());
         viewModel.IsActive = Convert.ToBoolean(chkIsActive.IsChecked);
         viewModel.IsSpecial = Convert.ToBoolean(chkIsSpecial.IsChecked);
         var validationCheck = new Validations();
         var result = validationCheck.PerformMandatoryCustomerValidations(viewModel);
         if (result.Result == "Success")
         {
             StudioRepository.InsertCustomer(viewModel);
             var msgBox = new BookerStudioMessageBox(result.Result, result.Message, GuestBookerMessageBoxButtons.Ok, IconType.Attention);
             msgBox.ShowDialog();
             MainWindow.MainStatusBarMessage.Text = "A new customer was added successfully!";
             new StartPage().GetCurrentCustomer();
         }
         else if (result.Result == "Failure")
         {
             var msgBox = new BookerStudioMessageBox(result.TypeOfException, result.Message, GuestBookerMessageBoxButtons.Ok, IconType.Attention);
             msgBox.ShowDialog();
         }
     }
 public ValidationsStructure PerformMandatoryCustomerValidations(CustomerFormViewModel viewModel)
 {
     var validationResult = new ValidationsStructure();
     if (viewModel.Organization != String.Empty && viewModel.FromDate != null && viewModel.FromDate <= viewModel.ToDate && viewModel.ToDate != null && viewModel.PhoneNumber != String.Empty && viewModel.NumOfPeople != 0)
     {
         validationResult.Result = "Success";
         validationResult.Message = "A new customer has been added successfully!";
         validationResult.TypeOfException = String.Empty;
         return validationResult;
     }
     else
     {
         validationResult.Result = "Failure";
         validationResult.Message = "Some fields are mandatory. Please provide values for all the fields and try again. Or the entered from date is greater than the to date. Please re-check.";
         validationResult.TypeOfException = "MandatoryFieldsNotEnteredException";
         return validationResult;
     }        
 }
 public static void UpdateCustomer(CustomerFormViewModel viewModel)
 {
     var model = Repository.ECCMasters.Where(c => c.Organization == viewModel.Organization && c.ContactName == viewModel.ContactName).SingleOrDefault();
     model.ContactName = viewModel.ContactName;
     model.Organization = viewModel.Organization;
     model.EstimatedCost = viewModel.EstimatedCost;
     model.MiscDetails = viewModel.MiscDetails;
     model.FromDate = viewModel.FromDate;
     model.IDProof = viewModel.IDProof;
     model.IsActive = viewModel.IsActive;
     model.IsSpecial = viewModel.IsSpecial;
     model.NoOfPeople = viewModel.NumOfPeople;
     model.PhoneNumber = viewModel.PhoneNumber;
     model.Purpose = viewModel.Purpose;
     model.RoomDetails = viewModel.RoomDetails;
     model.ToDate = viewModel.ToDate;
     Repository.SubmitChanges();
 }
 public static void InsertCustomer(CustomerFormViewModel viewModel)
 {
     var model = new ECCMaster();
     model.ContactName = viewModel.ContactName;
     model.Organization = viewModel.Organization;
     model.EstimatedCost = viewModel.EstimatedCost;
     model.MiscDetails = viewModel.MiscDetails;
     model.FromDate = viewModel.FromDate;
     model.IDProof = viewModel.IDProof;
     model.IsActive = viewModel.IsActive;
     model.IsSpecial = viewModel.IsSpecial;
     model.NoOfPeople = viewModel.NumOfPeople;
     model.PhoneNumber = viewModel.PhoneNumber;
     model.Purpose = viewModel.Purpose;
     model.RoomDetails = viewModel.RoomDetails;
     model.ToDate = viewModel.ToDate;
     Repository.ECCMasters.InsertOnSubmit(model);
     Repository.SubmitChanges();
 }
        private void cmdSaveCustomer_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var viewModel = new CustomerFormViewModel();
                viewModel.ContactName = txtName.Text;
                viewModel.Organization = txtOrganization.Text;
                var culInfo = new System.Globalization.CultureInfo("en-US");
                viewModel.EstimatedCost = int.Parse(txtTotalAmount.Text);
                viewModel.MiscDetails = txtMiscDetail.Text;
                viewModel.FromDate = DateTime.Parse(txtFromDate.Text, culInfo);
                viewModel.IDProof = txtIDProof.Text;
                viewModel.IsActive = chkIsActive.IsChecked.Value;
                viewModel.IsSpecial = chkIsSpecial.IsChecked.Value;
                viewModel.NumOfPeople = int.Parse(txtNumOfPpl.Text);
                viewModel.PhoneNumber = txtPhoneNumber.Text;
                viewModel.Purpose = txtPurpose.Text;
                viewModel.RoomDetails = txtAccDetail.Text;
                viewModel.ToDate = DateTime.Parse(txtToDate.Text, culInfo);
                StudioRepository.UpdateCustomer(viewModel);

                var msgbox = new BookerStudioMessageBox("Saved successfully", "The customer has been saved successfully!", GuestBookerMessageBoxButtons.Ok, IconType.Attention);
                msgbox.ShowDialog();
                MainWindow.MainStatusBarMessage.Text = "The changes made were saved successfully.";
            }
            catch(Exception ex)
            {
                var msgbox = new BookerStudioMessageBox("Exception!",ex.Message, GuestBookerMessageBoxButtons.Ok, IconType.Attention);
                msgbox.ShowDialog();
            }
         }