/// <summary>
 /// Saves/Updates master configuration
 /// </summary>
 /// <param name="masterConfigDto"></param>
 /// <returns>int</returns>
 public int SaveMasterConfiguration(tblMasterConfigurationDto masterConfigDto)
 {
     Mapper.CreateMap<tblMasterConfigurationDto, tblMasterConfig>();
     int result = 0;
     try
     {
         using (var masterConfigContext = new FPConfigEntities())
         {
             var masterConfig = new tblMasterConfig();
             //Update mode
             if (masterConfigDto.Id > 0)
             {
                 masterConfig = masterConfigContext.tblMasterConfigs.Find(masterConfigDto.Id);
                 Mapper.Map(masterConfigDto, masterConfig);
                 result = masterConfigContext.SaveChanges();
             }
             //New configuration
             else
             {
                 Mapper.Map(masterConfigDto, masterConfig);
                 masterConfigContext.tblMasterConfigs.Add(masterConfig);
                 result = masterConfigContext.SaveChanges();
             }
         }
     }
     catch
     {
         return -1;
     }
     return result;
 }
        public void SaveMasterConfiguration()
        {
            //Unified Data Store
            tblMasterConfigurationDto objDto = new tblMasterConfigurationDto();

            objDto.MinPasswordLength = 8;
            objDto.RequireNumberInPassword = true;
            objDto.RequireSpecialCharacterInPassword = true;
            objDto.MaxPasswordLife = 100;
            objDto.MaxLogonRetry = 2;
            objDto.PasswordHistoryCount = 2;
            objDto.AllowReusePasswordFromHistory = false;
            objDto.CreatedBy = "Paresh Rao";
            objDto.CreatedOn = DateTime.Now;
            //Optional Fields
            objDto.ModifiedBy = "Ravi Keshwani";
            objDto.ModifiedOn = DateTime.Now;
            objDto.IPAddressOfLastAction = "10.7.200.300";
            objDto.DefaultEmailAddress = "*****@*****.**";
            objDto.OutgoingEmailServer = "10.10.10.10";
            objDto.SenderMailAddress = "*****@*****.**";
            objDto.EmailAccountUserName = "******";
            objDto.EmailAccountUserPassword = "******";

            MasterConfigurationProvider objMasterConfigurationProvider = new MasterConfigurationProvider();
            int returnVal = objMasterConfigurationProvider.SaveMasterConfiguration(objDto);

            Assert.AreEqual(1, returnVal, "It should return 1");
        }
        /// <summary>
        /// Get list of master configuration
        /// </summary>
        /// <returns></returns>
        public tblMasterConfigurationDto GetMasterConfiguration()
        {
            tblMasterConfigurationDto objMastConfig = new tblMasterConfigurationDto();
            using (var dbMasterConfig = new FPConfigEntities())
            {
                Mapper.CreateMap<tblMasterConfig, tblMasterConfigurationDto>();

                var mstConfig = (from Config in dbMasterConfig.tblMasterConfigs
                                 select Config).FirstOrDefault();

                if (mstConfig != null)
                {
                    Mapper.Map(mstConfig, objMastConfig);
                }
            }
            return objMastConfig;
        }