private string UploadUserImage(string sourceImage)
        {
            //Copy the source image to

            var    currentDirectory = Directory.GetCurrentDirectory();
            var    source           = new FileInfo(sourceImage);
            string destination      = String.Format(@"{0}\{1}\{2}", Directory.GetCurrentDirectory(),
                                                    GymSoftConfigurationManger.GetUserDefaultPictureDirectory().ToString(),
                                                    source.Name);

            source.CopyTo(destination, true);

            //var baseUri = new Uri(currentDirectory);
            //var fullUri = new Uri(destination);
            //var relativeUri = fullUri.MakeRelativeUri(baseUri);
            //var directoryFormat = relativeUri.OriginalString.Replace('/', Path.DirectorySeparatorChar);
            //var relativeDestination = String.Format(@"{0}\{1}\{2}", directoryFormat,
            //                                        GymSoftConfigurationManger.GetUserDefaultPictureDirectory()
            //                                                                  .ToString(), source.Name);
            //return destination;

            var relativeDestination = source.Name;

            return(relativeDestination);
        }
 public RuntimeBusinessUnitService()
 {
     ConnectionString    = GymSoftConfigurationManger.GetDatabaseConnection();
     MySqlConnection     = new MySqlConnection(ConnectionString);
     MySqlCommand        = MySqlConnection.CreateCommand();
     MySqlDataAdapter    = new MySqlDataAdapter();
     BusinessUnitDataSet = new DataSet();
 }
        public RuntimeUserService()
        {
            ConnectionString = GymSoftConfigurationManger.GetDatabaseConnection();
            MySqlConnection  = new MySqlConnection(ConnectionString);
            MySqlCommand     = MySqlConnection.CreateCommand();
            MySqlDataAdapter = new MySqlDataAdapter();
            UserDataSet      = new DataSet();

            DefaultPictureDirectory = GymSoftConfigurationManger.GetUserDefaultPictureDirectory();
        }
        private int AddNewUser(User newUser, int buId = 1, int userId = 1)
        {
            //Upload image



            var currentPath = newUser.PhotoPath.DataValue;

            newUser.PhotoPath.DataValue = currentPath.Equals(GymSoftConfigurationManger.GetDefaultUserPicture().ToString())
                ? currentPath : UploadUserImage(currentPath);
            MySqlCommand.CommandType = CommandType.StoredProcedure;
            MySqlCommand.CommandText = AddNewUserStoredProcedure;
            MySqlCommand.Parameters.Clear();
            MySqlCommand.Parameters.AddWithValue("buid", buId);
            MySqlCommand.Parameters.AddWithValue("userid", userId);

            MySqlCommand.Parameters.AddWithValue("fname", newUser.FirstName.DataValue);
            MySqlCommand.Parameters.AddWithValue("mname", newUser.MiddleName.DataValue);
            MySqlCommand.Parameters.AddWithValue("lname", newUser.LastName.DataValue);
            MySqlCommand.Parameters.AddWithValue("dob", newUser.DateOfBirth.DataValue);
            MySqlCommand.Parameters.AddWithValue("email", newUser.EmailAddress.DataValue);
            MySqlCommand.Parameters.AddWithValue("num1", newUser.ContactNum1.DataValue);
            MySqlCommand.Parameters.AddWithValue("num2", newUser.ContactNum2.DataValue);
            MySqlCommand.Parameters.AddWithValue("num3", newUser.ContactNum3.DataValue);
            MySqlCommand.Parameters.AddWithValue("add1", newUser.Address1.DataValue);
            MySqlCommand.Parameters.AddWithValue("add2", newUser.Address2.DataValue);
            MySqlCommand.Parameters.AddWithValue("add3", newUser.Address3.DataValue);
            MySqlCommand.Parameters.AddWithValue("par", newUser.Parish.DataValue);
            MySqlCommand.Parameters.AddWithValue("sex", newUser.Gender.DataValue);
            MySqlCommand.Parameters.AddWithValue("photo", newUser.PhotoPath.DataValue);
            MySqlCommand.Parameters.AddWithValue("uname", newUser.UserName.DataValue);
            MySqlCommand.Parameters.AddWithValue("pwd", newUser.Password.DataValue);
            MySqlCommand.Parameters.AddWithValue("status", newUser.Status.DataValue);
            MySqlCommand.Parameters.AddWithValue("jt", newUser.JobTitle.DataValue);



            MySqlCommand.Parameters.Add(new MySqlParameter("@newUserId", MySqlDbType.Int32));
            MySqlCommand.Parameters["@newUserId"].Direction = ParameterDirection.Output;
            MySqlCommand.Parameters.Add(new MySqlParameter("@result", MySqlDbType.Int32));
            MySqlCommand.Parameters["@result"].Direction = ParameterDirection.Output;
            MySqlCommand.Connection.Open();
            MySqlCommand.ExecuteNonQuery();
            MySqlCommand.Connection.Close();

            int newUserId = (int)MySqlCommand.Parameters["@newUserId"].Value;

            //Update photoPath with new UserId

            // newUser.PhotoPath.DataValue = photoPath;
            //UpdateUser(newUser);
            return((int)MySqlCommand.Parameters["@newUserId"].Value);
        }
        private int UpdateUser(User user, int buId = 1, int userId = 1)
        {
            var currentPath      = user.PhotoPath.DataValue;
            var defaultPhotoPath = GymSoftConfigurationManger.GetDefaultUserPicture().ToString();


            if (!currentPath.Equals(defaultPhotoPath))
            {
                currentPath = UploadUserImage(currentPath);
            }

            MySqlCommand.CommandType = CommandType.StoredProcedure;
            MySqlCommand.CommandText = UpdateUserStoredProcedure;
            MySqlCommand.Parameters.Clear();
            MySqlCommand.Parameters.AddWithValue("buid", buId);
            MySqlCommand.Parameters.AddWithValue("userid", userId);

            /*buid int, userid int, personid int, userName VARCHAR(1024),
             * passwd VARCHAR(1024),stat VARCHAR(1024), jt VARCHAR(1024),
             * fname VARCHAR(1024), mname VARCHAR(1024), lname VARCHAR(1024),
             * dob date,  email VARCHAR(1024),num1 VARCHAR(20), num2 VARCHAR(20),
             * num3 VARCHAR(20), add1 VARCHAR(1024), add2 VARCHAR(1024), add3 VARCHAR(1024),
             * par VARCHAR(1024), sex VARCHAR(1024), photo VARCHAR(1024), OUT result int*/
            MySqlCommand.Parameters.AddWithValue("persid", user.UserId.DataValue);
            MySqlCommand.Parameters.AddWithValue("fname", user.FirstName.DataValue);
            MySqlCommand.Parameters.AddWithValue("mname", user.MiddleName.DataValue);
            MySqlCommand.Parameters.AddWithValue("lname", user.LastName.DataValue);
            MySqlCommand.Parameters.AddWithValue("dob", user.DateOfBirth.DataValue);
            MySqlCommand.Parameters.AddWithValue("email", user.EmailAddress.DataValue);
            MySqlCommand.Parameters.AddWithValue("num1", user.ContactNum1.DataValue);
            MySqlCommand.Parameters.AddWithValue("num2", user.ContactNum2.DataValue);
            MySqlCommand.Parameters.AddWithValue("num3", user.ContactNum3.DataValue);
            MySqlCommand.Parameters.AddWithValue("add1", user.Address1.DataValue);
            MySqlCommand.Parameters.AddWithValue("add2", user.Address2.DataValue);
            MySqlCommand.Parameters.AddWithValue("add3", user.Address3.DataValue);
            MySqlCommand.Parameters.AddWithValue("par", user.Parish.DataValue);
            MySqlCommand.Parameters.AddWithValue("sex", user.Gender.DataValue);
            MySqlCommand.Parameters.AddWithValue("photo", currentPath);
            MySqlCommand.Parameters.AddWithValue("stat", user.Status.DataValue);
            MySqlCommand.Parameters.AddWithValue("jt", user.JobTitle.DataValue);


            MySqlCommand.Parameters.Add(new MySqlParameter("@result", MySqlDbType.Int32));
            MySqlCommand.Parameters["@result"].Direction = ParameterDirection.Output;
            MySqlCommand.Connection.Open();
            MySqlCommand.ExecuteNonQuery();
            MySqlCommand.Connection.Close();

            return((int)MySqlCommand.Parameters["@result"].Value);
        }
        private string UploadUserImage(string sourceImage)
        {
            //Copy the source image to

            var    currentDirectory = Directory.GetCurrentDirectory();
            var    source           = new FileInfo(sourceImage);
            string destination      = String.Format(@"{0}\{1}\{2}", Directory.GetCurrentDirectory(),
                                                    GymSoftConfigurationManger.GetUserDefaultPictureDirectory().ToString(),
                                                    source.Name);

            //Copy file only if sourceImageDirectory is not the same as destinationDirectory
            var destinationDirectory = String.Format(@"{0}\{1}", Directory.GetCurrentDirectory(),
                                                     GymSoftConfigurationManger.GetUserDefaultPictureDirectory().ToString());
            var sourceImageDirectory = sourceImage.Substring(0, sourceImage.LastIndexOf('\\'));

            if (!sourceImageDirectory.Equals(destinationDirectory, StringComparison.CurrentCultureIgnoreCase))
            {
                source.CopyTo(destination, true);
            }
            var relativeDestination = source.Name;

            return(relativeDestination);
        }