public void GivenAnEditedProviderIsSubmittedWithoutAUniqueName_WhenEdit_ThenThrowException() { var viewModel = new ProviderModel { Id = 1, Name = "Jimbo's Math Shop" }; PermissionFactory.Current.Expect(m => m.Create("EditProvider", viewModel.Id)).Return(MockRepository.GenerateMock<IPermission>()); Target.ExpectException<ValidationException>(() => Target.Edit(User, viewModel)); }
public void GivenAViewModel_WhenCreate_ThenAddedProviderStateMatchesViewModelState() { var expectedState = new ProviderModel { Name = "Bob's Tutoring", Website = "www.bob.com", Address = new Address { City = "Bob City", State = "BB", Street = "123 Bob Street", Zip = "12345" }, Contact = new Contact { Email = "*****@*****.**", Name = "Bob", Phone = "614-444-4444" } }; Target.Create(User, expectedState); Repositories.MockProviderRepository.AssertWasCalled(m => m.Add(Arg<Provider>.Matches(p => AssertPropertieMatch(expectedState, p)))); }
public void GivenAViewModel_WhenCreate_ThenChangesSaved() { var viewModel = new ProviderModel(); Target.Create(User, viewModel); Repositories.MockRepositoryContainer.AssertWasCalled(m => m.Save()); }
public void GivenANewViewModel_WhenCreate_ThenReturnPassingJsonResult_AndLogicManagerCreates() { var viewModel = new ProviderModel(); var result = Target.Create(viewModel) as JsonResult; result.AssertGetData(true); MockLogicManager.AssertWasCalled(m => m.Create(User, viewModel)); }
public void GivenAViewModel_AndProgramsAreSelected_WhenCreate_ThenProviderHasSelectedPrograms() { var selectedPrograms = new int[] { 1, 2 }; var expected = Data.Programs.Where(s => selectedPrograms.Contains(s.Id)).ToList(); var viewModel = new ProviderModel { SelectedPrograms = selectedPrograms }; Target.Create(User, viewModel); Repositories.MockProviderRepository.AssertWasCalled(m => m.Add(Arg<Provider>.Matches(p => p.ServiceOfferings.Select(s => s.Program).Distinct().SequenceEqual(expected)))); }
public void GivenLogicManagerThrowsValidationException_WhenEditPosted_ReturnViewModel_AndModelStateContainsErrors() { var expected = new ProviderModel { Id = 1, Name = "Jimbo's Math Shop" }; MockLogicManager.Expect(m => m.Edit(User, expected)).Throw(new ValidationException(new ValidationResult("Error!", new[] { "Name" }), null, expected)); var result = Target.Edit(expected) as PartialViewResult; result.AssertGetViewModel(expected); Assert.IsTrue(Target.ModelState["Name"].Errors.Count > 0); }
public ActionResult Create(ProviderModel viewModel) { ValidateModelState(viewModel); if (ModelState.IsValid) { LogicManager.Create((EducationSecurityPrincipal)User, viewModel); return Json(true); } LogicManager.PopulateViewModel(viewModel); return PartialView(viewModel); }
public void GivenLogicManagerThrowsValidationException_WhenCreatePosted_ThenModelStateHasErrors_AndViewModelIsPopulated() { var expected = new ProviderModel { Name = "YMCA" }; MockLogicManager.Expect(m => m.Validate(expected)).Throw(new ValidationException(new ValidationResult("Error!", new[] { "Name" }), null, expected)); var result = Target.Create(expected) as PartialViewResult; result.AssertGetViewModel<ProviderModel>(expected); MockLogicManager.AssertWasCalled(m => m.PopulateViewModel(expected)); Assert.IsTrue(Target.ModelState["Name"].Errors.Count > 0); }
/// <summary> /// Converts viewmodel to model /// </summary> /// <param name="model">The model.</param> /// <returns></returns> public static ProviderModel ToModel(this ProviderViewModel model) { if (model == null) { return(null); } var entity = new ProviderModel { CredentialId = model.CredentialId, ProviderId = model.ProviderId, ProviderName = model.ProviderName, ModifiedOn = model.ModifiedOn }; return(entity); }
public async Task <ProviderModel> getProviderAsync(string phone) { ProviderModel provider = new ProviderModel(); using (var httpClient = new HttpClient()) { using (var response = await httpClient.GetAsync(_configuration["FIAP:ProviderAddress"] + phone)) { string apiResponse = await response.Content.ReadAsStringAsync(); provider = JsonConvert.DeserializeObject <ProviderModel>(apiResponse); } } return(provider); }
private IEnumerator AddPackageWithDependencie(ProviderModel providerInfo, System.Action <AddRequest> callback) { pkgNameQueue.Clear(); urlQueue.Clear(); CheckDependenciesPackage(providerInfo); AddMultiPackage(); while (isAddMultiPkg) { isProcessing = true; yield return(new WaitForSeconds(0.1f)); } ZBaseEditorCoroutines.StartEditorCoroutine(AddPackage(providerInfo, callback)); }
protected void AddToCache(ProviderModel provider, DirectoryModel directory) { if (directory == null) { throw new ArgumentNullException(nameof(directory)); } var hash = provider.GetHashCode(); if (!string.IsNullOrEmpty(directory.Path)) { hash += directory.Path.GetHashCode(); } this.memoryCacheService.Set(hash, directory); }
public override void GetMarketData(ProviderModel provider, Action <object> update) { if (provider == null) { throw new ArgumentNullException(nameof(provider)); } Config.Set("log-handler", "QuantConnect.Logging.CompositeLogHandler"); Config.Set("data-directory", _settings.DataFolder); Config.Set("cache-location", _settings.DataFolder); IList <string> symbols = provider.Symbols.Select(m => m.Id).ToList(); string resolution = Resolution.Daily.ToString(); // Yahoo only support daily YahooDownloaderProgram.YahooDownloader(symbols, resolution, provider.LastDate, provider.LastDate); }
public Task Add(string typeName) => Task.Run(() => { var guid = Guid.NewGuid(); var type = _factories.Keys.First(x => x == typeName); var model = new ProviderModel { Id = guid, Type = type, Token = null, Created = DateTime.Now }; _blobCache.InsertObject(guid.ToString(), model).Subscribe(); var provider = _factories[type](model); _connectable.AddOrUpdate(provider); });
/// <summary> /// Obtiene la tabla de datos /// </summary> private IEnumerable <DataTable> GetDataTable(ProviderModel provider, CommandModel command) { using (BlockLogModel block = Manager.Logger.Default.CreateBlock(LogModel.LogType.Info, "Read datatable")) { int pageIndex = 0; // Carga los datos foreach (DataTable table in provider.LoadData(command)) { // Log AddDebug($"Reading page {++pageIndex}", command); // Devuelve la tabla yield return(table); } } }
public async Task DeleteUser([FromBody] ProviderModel model) { try { var provider = await _providerManager.GetProviderDetailsById(model.ProviderId, false); var user = await _userManager.FindByIdAsync(provider.UserId); user.IsDeleted = true; await _userManager.UpdateAsync(user); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public void GivenProviderNameAlreadyExistsButIsInactive_WhenCreate_ThenProviderIdRetained() { int expectedId = 4; var inactive = Data.Providers.Single(p => p.Id == expectedId && !p.IsActive); var expectedState = new ProviderModel { Name = inactive.Name, Website = "www.bob.com", Address = new Address { City = "Bob City", State = "BB", Street = "123 Bob Street", Zip = "12345" }, Contact = new Contact { Email = "*****@*****.**", Name = "Bob", Phone = "614-444-4444" } }; Target.Create(User, expectedState); Assert.AreEqual(expectedId, inactive.Id); }
public void GivenProviderProgramAssociationsWereMade_WhenEdit_ThenProviderHasServiceOfferingsWithSelectedProgram() { var selectedPrograms = new int[] { 1, 2 }; var expected = Data.Programs.Where(s => selectedPrograms.Contains(s.Id)).ToList(); var viewModel = new ProviderModel { Id = 2, SelectedPrograms = selectedPrograms }; PermissionFactory.Current.Expect(m => m.Create("EditProvider", viewModel.Id)).Return(MockRepository.GenerateMock <IPermission>()); Target.Edit(User, viewModel); var actual = Repositories.MockProviderRepository.Items.Single(p => p.Id == viewModel.Id).ServiceOfferings.Where(o => o.IsActive).Select(s => s.Program).Distinct(); CollectionAssert.AreEquivalent(expected, actual.ToList()); }
protected DirectoryModel GetFromCache(ProviderModel provider, string path) { var hash = provider.GetHashCode(); if (!string.IsNullOrEmpty(path)) { hash += path.GetHashCode(); } if (_cache.TryGetValue(hash, out DirectoryModel directory)) { return(directory); } return(null); }
protected DirectoryModel GetFromCache(ProviderModel provider, string path) { var hash = provider.GetHashCode(); if (!string.IsNullOrEmpty(path)) { hash += path.GetHashCode(); } if (_cache.ContainsKey(hash)) { return(_cache[hash]); } return(null); }
public ActionResult UpdateProviderInfo(string formData) { long int64 = Convert.ToInt64(this.get_Session()["ProviderCode"]); if (int64 == 0L) { LoginController loginController = new LoginController(); if (loginController.CheckCookie() == null) { return((ActionResult)this.RedirectToAction("Index", "Login")); } loginController.CheckProviderCredential(); } ProviderModel providerModel = (ProviderModel)JsonConvert.DeserializeObject <ProviderModel>(formData); Provider provider = (Provider)this.get_Session()["ProviderDetails"]; string empty = string.Empty; SqlMapper.Execute(this._db, "Update IM_Providers Set PROVIDERMAINPHONE = '" + (string.IsNullOrEmpty(providerModel.ProviderMainPhone) ? provider.ProviderMainPhone : providerModel.ProviderMainPhone) + "',PROVIDERMAINEMAIL='" + (string.IsNullOrEmpty(providerModel.EMail) ? provider.EMail : providerModel.EMail) + "',ADDRESS='" + (string.IsNullOrEmpty(providerModel.Address) ? provider.Address : providerModel.Address) + "',PROVIDERAREA='" + (string.IsNullOrEmpty(providerModel.ProviderArea) ? provider.ProviderArea : providerModel.ProviderArea) + "' Where ProviderCode = " + (object)int64, (object)null, (IDbTransaction)null, new int?(), new CommandType?()); try { MimeMessage mimeMessage1 = new MimeMessage(); mimeMessage1.get_From().Add((InternetAddress) new MailboxAddress("Provider Portal", "*****@*****.**")); mimeMessage1.get_To().Add((InternetAddress) new MailboxAddress("Zeeshan", "*****@*****.**")); mimeMessage1.set_Subject("Provider Detail Change"); MimeMessage mimeMessage2 = mimeMessage1; TextPart textPart1 = new TextPart("html"); textPart1.set_Text(" Hello NGI team,<br><br>Below Provider changed his details. <br><br><b>Provider Id: </b>" + this.get_Session()["ProviderID"].ToString() + " <br> <b>Provider Name: </b>" + this.get_Session()["ProviderName"].ToString()); TextPart textPart2 = textPart1; mimeMessage2.set_Body((MimeEntity)textPart2); using (SmtpClient smtpClient = new SmtpClient()) { ((MailService)smtpClient).set_ServerCertificateValidationCallback((RemoteCertificateValidationCallback)((sender, certificate, chain, sslPolicyErrors) => true)); ((MailService)smtpClient).Connect("148.0.0.67", 25, (SecureSocketOptions)1, new CancellationToken()); ((MailService)smtpClient).Authenticate("providerportal", "pro1234*", new CancellationToken()); ((MailTransport)smtpClient).Send(mimeMessage1, new CancellationToken(), (ITransferProgress)null); ((MailService)smtpClient).Disconnect(true, new CancellationToken()); } } catch (Exception ex) { string message = ex.Message; } return((ActionResult)this.Json((object)new { Result = "S" }, (JsonRequestBehavior)0)); }
protected static void UpdateSymbols( ProviderModel market, IEnumerable <SymbolModel> actual, bool defaultActive, bool addNew = true) { Contract.Requires(market != null, nameof(market)); Contract.Requires(actual != null, nameof(actual)); // Collect list of obsolete symbols Collection <SymbolModel> symbols = market.Symbols; List <SymbolModel> discarded = symbols.ToList(); foreach (SymbolModel item in actual) { SymbolModel symbol = symbols.FirstOrDefault(x => x.Id.Equals(item.Id, StringComparison.OrdinalIgnoreCase) && (x.Market.Equals(item.Market, StringComparison.OrdinalIgnoreCase) || string.IsNullOrEmpty(x.Market)) && (x.Security.Equals(item.Security) || x.Security.Equals(SecurityType.Base))); if (symbol == default) { if (addNew) { var symbolModel = new SymbolModel(item.Id, item.Market, item.Security) { Active = defaultActive, Name = item.Name, Properties = item.Properties }; symbols.Add(symbolModel); } } else { // Update properties symbol.Name = item.Name; symbol.Market = item.Market; symbol.Security = item.Security; symbol.Properties = item.Properties; discarded.Remove(symbol); } } foreach (SymbolModel old in discarded) { symbols.Remove(old); } }
public void Login() { var broker = new ProviderModel { Active = true, Name = "Fxcm", Provider = "fxcm", Access = _access, Login = _user, Password = _pass }; using IProvider provider = ProviderFactory.CreateProvider(broker.Provider, _settings); provider.Login(broker); Assert.IsTrue(broker.Active); }
/// <summary> /// Converts model to viewmodel /// </summary> /// <param name="entity">The entity.</param> /// <returns></returns> public static ProviderViewModel ToViewModel(this ProviderModel entity) { if (entity == null) { return(null); } var model = new ProviderViewModel { CredentialId = entity.CredentialId, ProviderId = entity.ProviderId, ProviderName = entity.ProviderName, ModifiedOn = entity.ModifiedOn }; return(model); }
public bool UpdateDetails(ProviderModel smodel) { connection(); SqlCommand cmd = new SqlCommand("UpdateProvider", con); cmd.CommandType=CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@id", smodel.id); cmd.Parameters.AddWithValue("@detail", smodel.detail); con.Open(); int i = cmd.ExecuteNonQuery(); con.Close(); if (i>=1) return true; else return false; }
// PUT api/provider/5 public IHttpActionResult Put(int id, [FromBody] ProviderModel provider) { try { if (provider.Id < 0) { return(BadRequest()); } _providerService.Update(provider); return(StatusCode(HttpStatusCode.NoContent)); } catch (Exception ex) { return(InternalServerError()); } }
public void Download_no_symbols() { var date = new DateTime(2019, 05, 01); var market = new ProviderModel { Name = "QuantConnect", Provider = "quantconnect", LastDate = date }; // Just update symbol list using IProvider provider = ProviderFactory.CreateProvider(market.Provider, _settings); provider.GetMarketData(market); Assert.IsFalse(market.Active); Assert.IsTrue(market.LastDate == date); Assert.IsTrue(market.Symbols.Count > 42); Assert.AreEqual(market.Symbols.Count, market.Symbols.Where(m => m.Active).Count()); }
public ActionResult Save(ProviderModel model) { if (ModelState.IsValid) { bool status = false; if (model.IsUpdate) { status = new ProviderDao().Update(model); return(Json(new { status = status }, JsonRequestBehavior.AllowGet)); } else { status = new ProviderDao().Save(model); return(Json(new { status = status }, JsonRequestBehavior.AllowGet)); } } return(PartialView("_DetailProvider", model)); }
public ProviderModel GenerateEditViewModel(EducationSecurityPrincipal user, int providerId) { var provider = ProviderRepository.Items.Include("ServiceOfferings.Program").SingleOrDefault(p => p.Id == providerId); if (provider == null || !provider.IsActive) { throw new EntityNotFoundException("Specified Provider does not exist."); } IPermission permission = PermissionFactory.Current.Create("EditProvider", providerId); permission.GrantAccess(user); ProviderModel viewModel = new ProviderModel(); viewModel.CopyFrom(provider); viewModel.SelectedPrograms = provider.ServiceOfferings.Select(s => s.Program).Select(p => p.Id); PopulateViewModel(viewModel); return(viewModel); }
public void GivenValidProviderId_AndProviderHasExistingProgramAssociations_WhenGenerateEditViewModel_ThenViewModelProgramListHasCorrectSelectedItems() { var expected = new List <int> { 1 }; var provider = Data.Providers[0]; provider.ServiceOfferings = Data.Programs.Where(s => expected.Contains(s.Id)).Select(s => new ServiceOffering { Program = s }).ToList(); PermissionFactory.Current.Expect(m => m.Create("EditProvider", provider.Id)).Return(MockRepository.GenerateMock <IPermission>()); ProviderModel result = Target.GenerateEditViewModel(User, provider.Id); var actual = result.Programs.SelectedValues.Cast <int>().ToList(); CollectionAssert.AreEqual(expected, actual); }
public ActionResult Create(ProviderModel smodel) { try { if (ModelState.IsValid) { ProviderDBHandle sdb = new ProviderDBHandle(); if (sdb.Add(smodel)) { ViewBag.Message = "Details Added Successfully"; ModelState.Clear(); } } return(View()); } catch (Exception e) { e.GetBaseException(); return(View()); } }
/// <summary> /// Carga los datos de un proveedor /// </summary> private ProviderModel LoadProvider(MLNode nodeML) { ProviderModel provider = new ProviderModel(); // Carga los datos provider.Type = nodeML.Nodes[TagProviderType].Value; // Carga los parámetros foreach (MLNode childML in nodeML.Nodes) { if (childML.Name == TagProviderParameter) { provider.Parameters.Add(childML.Attributes[TagProviderParameterKey].Value, childML.Nodes[TagProviderParameterValue].Value); } } // Devuelve los datos del proveedor return(provider); }
/// <summary> /// Obtiene el nodo de un provedor /// </summary> private MLNode GetNodeProvider(ProviderModel provider) { MLNode nodeML = new MLNode(TagProvider); // Añade los nodos de proveedor nodeML.Nodes.Add(TagProviderType, provider.Type); // Añade los parámetros foreach (System.Collections.Generic.KeyValuePair <string, StructParameterModel> parameter in provider.Parameters.Parameters) { MLNode childML = nodeML.Nodes.Add(TagProviderParameter); // Añade los valores del parámetro childML.Attributes.Add(TagProviderParameterKey, parameter.Value.Key); childML.Nodes.Add(TagProviderParameterValue, parameter.Value.Value?.ToString()); } // Devuelve el nodo return(nodeML); }
/// <summary> /// Ejecuta una sentencia de copia masiva /// </summary> private void ExecuteBulkCopy(SentenceBulkCopy sentence) { using (BlockLogModel block = Manager.Logger.Default.CreateBlock(LogModel.LogType.Info, $"Start bulckcopy to table {sentence.Table}")) { ProviderModel source = GetProvider(sentence.Source); ProviderModel target = GetProvider(sentence.Target); if (source == null) { AddError($"Can't find source provider: {sentence.Source}"); } else if (target == null) { AddError($"Can't find target provider: {sentence.Target}"); } else if (string.IsNullOrWhiteSpace(sentence.Table)) { AddError("The target table is undefined at BulkCopy sentence"); } else { CommandModel command = ConvertProviderCommand(sentence.Command, out string error); if (!string.IsNullOrWhiteSpace(error)) { AddError($"Error when convert command. {error}"); } else // Ejecuta la consulta sobre el proveedor { try { using (IDataReader reader = source.OpenReader(command, TimeSpan.FromMinutes(10))) { target.BulkCopy(reader, sentence.Table, sentence.Mappings, sentence.BatchSize, TimeSpan.FromMinutes(15)); } } catch (Exception exception) { AddError($"Error when execute bulkCopy. {exception.Message}"); } } } } }
/// <summary> /// Obtiene el nodo de un provedor /// </summary> private MLNode GetNodeProvider(ProviderModel objProvider) { MLNode objMLNode = new MLNode(cnstStrTagProvider); // Añade los nodos de proveedor objMLNode.Nodes.Add(cnstStrTagProviderType, objProvider.Type); objMLNode.Nodes.Add(cnstStrTagProviderAdditionalPath, objProvider.AdditionalDocumentsPath); // Añade los parámetros foreach (System.Collections.Generic.KeyValuePair <string, StructParameterModel> objParameter in objProvider.Parameters.Parameters) { MLNode objMLChild = objMLNode.Nodes.Add(cnstStrTagProviderParameter); // Añade los valores del parámetro objMLChild.Attributes.Add(cnstStrTagProviderParameterKey, objParameter.Value.Key); objMLChild.Nodes.Add(cnstStrTagProviderParameterValue, objParameter.Value.Value?.ToString()); } // Devuelve el nodo return(objMLNode); }
public void ItIsPossibleToMapProvider_ToModelAndEntityAndDto() { var model = new ProviderModel { Id = Guid.NewGuid(), CreatAt = DateTime.UtcNow, UpdateAt = DateTime.UtcNow, Name = Faker.Name.FullName(), Cnpj = "66.048.507/0001-23" }; var entity = mapper.Map <ProviderModel>(model); Assert.Equal(entity.Id, model.Id); Assert.Equal(entity.Name, model.Name); Assert.Equal(entity.Cnpj, model.Cnpj); Assert.Equal(entity.CreatAt, model.CreatAt); Assert.Equal(entity.UpdateAt, model.UpdateAt); }
/// <summary> /// Carga los datos de un proveedor /// </summary> private ProviderModel LoadProvider(MLNode objMLNode) { ProviderModel objProvider = new ProviderModel(); // Carga los datos objProvider.Type = objMLNode.Nodes[cnstStrTagProviderType].Value; objProvider.AdditionalDocumentsPath = objMLNode.Nodes[cnstStrTagProviderAdditionalPath].Value; // Carga los parámetros foreach (MLNode objMLChild in objMLNode.Nodes) { if (objMLChild.Name == cnstStrTagProviderParameter) { objProvider.Parameters.Add(objMLChild.Attributes[cnstStrTagProviderParameterKey].Value, objMLChild.Nodes[cnstStrTagProviderParameterValue].Value); } } // Devuelve los datos del proveedor return(objProvider); }
public async Task <ProviderModel> UpdateProviderDetails(ProviderModel model) { var user = await _userManager.FindByIdAsync(model.UserId); user.FirstName = model.FirstName; user.LastName = model.LastName; await _userManager.UpdateAsync(user); var provider = await _dbContext.Providers.Where(item => item.UserId == model.UserId).FirstOrDefaultAsync(); provider.Speciality = model.Speciality; provider.DisplayName = model.DisplayName; provider.MedicalLicenceNumber = model.MedicalLicenceNumber; provider.Position = model.Position; await _dbContext.SaveChangesAsync(); model.UserId = null; return(model); }
public void GivenProviderProgramAssociationsWereMade_WhenEdit_ThenProviderHasSelectedPrograms() { try { EducationSecurityPrincipal user = new EducationSecurityPrincipal(new UserRepository(EducationContext).Items.Where(s => s.UserKey == "Bob").Include("UserRoles.Role").Single()); var expected = new int[] { 1, 2 }; var provider = EducationContext.Providers.First(); var viewModel = new ProviderModel { Id = provider.Id, Name = provider.Name, SelectedPrograms = expected, Address = provider.Address, Contact = provider.Contact, Website = provider.Website }; Target.Edit(user, viewModel); using (EducationDataContext verificationContext = new EducationDataContext()) { var actual = verificationContext.Providers.Include(p => p.ServiceOfferings).Single(p => p.Id == viewModel.Id).ServiceOfferings.Where(s => s.IsActive).Select(s => s.ProgramId).Distinct(); CollectionAssert.AreEquivalent(expected, actual.ToList()); } } finally { AssemblySetup.ForceDeleteEducationDatabase("SSD"); } }
public void GivenValidProviderViewModel_WhenEdit_ThenAttemptGrantAccess() { Data.StudentAssignedOfferings.Clear(); ProviderModel viewModel = new ProviderModel { Id = 1, Name = "YMCA" }; IPermission permission = MockRepository.GenerateMock<IPermission>(); PermissionFactory.Current.Expect(m => m.Create("EditProvider", 1)).Return(permission); Target.Edit(User, viewModel); permission.AssertWasCalled(p => p.GrantAccess(User)); }
public void GivenValidProviderViewModel_WhenEdit_ThenProviderUpdatedInRepository_AndSaved() { Data.StudentAssignedOfferings.Clear(); var expected = Data.Providers[0]; var viewModel = new ProviderModel { Id = expected.Id, Name = "YMCA" }; PermissionFactory.Current.Expect(m => m.Create("EditProvider", expected.Id)).Return(MockRepository.GenerateMock<IPermission>()); Target.Edit(User, viewModel); Repositories.MockProviderRepository.AssertWasCalled(m => m.Update(expected)); Repositories.MockRepositoryContainer.AssertWasCalled(m => m.Save()); }
public void GivenProviderServiceOfferingsToBeDeactivatedHaveStudentAssignedOfferings_WhenEdit_ThenThrowException() { var selectedPrograms = new int[] { 3, 4 }; var viewModel = new ProviderModel { Id = 1, SelectedPrograms = selectedPrograms }; PermissionFactory.Current.Expect(m => m.Create("EditProvider", viewModel.Id)).Return(MockRepository.GenerateMock<IPermission>()); Target.ExpectException<ValidationException>(() => Target.Edit(User, viewModel)); }
public void GivenAViewModel_AndIdIsNotFound_WhenEdit_ThenThrowEntityNotFoundException() { var viewModel = new ProviderModel { Id = 100 }; Target.ExpectException<EntityNotFoundException>(() => Target.Edit(User, viewModel)); }
public void GivenProviderNameAlreadyExistsButIsInactive_WhenCreate_ThenProviderNotAdded() { var inactive = Data.Providers.Single(p => p.Id == 4 && !p.IsActive); var expectedState = new ProviderModel { Name = inactive.Name, Website = "www.bob.com", Address = new Address { City = "Bob City", State = "BB", Street = "123 Bob Street", Zip = "12345" }, Contact = new Contact { Email = "*****@*****.**", Name = "Bob", Phone = "614-444-4444" } }; Target.Create(User, expectedState); Repositories.MockProviderRepository.AssertWasNotCalled(m => m.Add(null), options => options.IgnoreArguments()); }
public void GivenProviderProgramAssociationsWereMade_WhenEdit_ThenProviderHasServiceOfferingsWithSelectedProgram() { var selectedPrograms = new int[] { 1, 2 }; var expected = Data.Programs.Where(s => selectedPrograms.Contains(s.Id)).ToList(); var viewModel = new ProviderModel { Id = 2, SelectedPrograms = selectedPrograms }; PermissionFactory.Current.Expect(m => m.Create("EditProvider", viewModel.Id)).Return(MockRepository.GenerateMock<IPermission>()); Target.Edit(User, viewModel); var actual = Repositories.MockProviderRepository.Items.Single(p => p.Id == viewModel.Id).ServiceOfferings.Where(o => o.IsActive).Select(s => s.Program).Distinct(); CollectionAssert.AreEquivalent(expected, actual.ToList()); }
public void GivenValidViewModel_WhenValidate_ThenSucceed() { ProviderModel viewModel = new ProviderModel { Id = 1, Name = "YMCA" }; Target.Validate(viewModel); }
public void GivenProviderNameAlreadyExistsButIsInactive_WhenCreate_ThenProviderIsReactivated() { var inactive = Data.Providers.Single(p => p.Id == 4 && !p.IsActive); var expectedState = new ProviderModel { Name = inactive.Name, Website = "www.bob.com", Address = new Address { City = "Bob City", State = "BB", Street = "123 Bob Street", Zip = "12345" }, Contact = new Contact { Email = "*****@*****.**", Name = "Bob", Phone = "614-444-4444" } }; Target.Create(User, expectedState); Assert.IsTrue(inactive.IsActive); }
public ActionResult Create() { var viewModel = new ProviderModel(); LogicManager.PopulateViewModel(viewModel); return PartialView(viewModel); }
private void ValidateModelState(ProviderModel viewModel) { try { LogicManager.Validate(viewModel); } catch (ValidationException e) { ModelState.AddModelErrors(e); } }
public void GivenViewModelHasUniqueName_WhenValidate_ThenSucceed() { var model = new ProviderModel { Name = "this doesn't already exist!" }; Target.Validate(model); }
public void GivenViewModelHasDuplicateName_AndDuplicateIsInactive_WhenValidate_ThenSucceed() { var model = new ProviderModel { Name = "The Math Hut" }; Target.Validate(model); }
public ActionResult EditProviderPopup(string btnId, ProviderModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins)) return AccessDeniedView(); var provider = _providerManager.GetProvider(model.SystemName); if (provider == null) return HttpNotFound(); var metadata = provider.Metadata; _pluginMediator.SetSetting(metadata, "FriendlyName", model.FriendlyName); _pluginMediator.SetSetting(metadata, "Description", model.Description); foreach (var localized in model.Locales) { _pluginMediator.SaveLocalizedValue(metadata, localized.LanguageId, "FriendlyName", localized.FriendlyName); _pluginMediator.SaveLocalizedValue(metadata, localized.LanguageId, "Description", localized.Description); } ViewBag.RefreshPage = true; ViewBag.btnId = btnId; return View(model); }
public void GivenViewModelHasDuplicateName_WhenValidate_ThenThrowValidationException() { var model = new ProviderModel { Name = "YMCA" }; Target.ExpectException<ValidationException>(() => Target.Validate(model)); }
public void GivenProgramRemovedFromProvider_WhenEdit_ThenAssociatedServiceOfferingsDeactivated() { Data.ServiceTypes.Clear(); Data.ServiceTypes.AddRange(new List<ServiceType> { new ServiceType { Name = "A" }, new ServiceType { Name = "B" } }); Data.Programs.Clear(); Data.Programs.AddRange(new List<Program> { new Program { Name = "A", Id = 1 }, new Program { Name = "B", Id = 2 } }); Provider toEdit = new Provider { Id = 1, IsActive = true, ServiceOfferings = new List<ServiceOffering> { new ServiceOffering { ServiceType = Data.ServiceTypes[0], Program = Data.Programs[0], ProgramId = Data.Programs[0].Id, IsActive = true, ProviderId = 1 }, new ServiceOffering { ServiceType = Data.ServiceTypes[1], Program = Data.Programs[0], ProgramId = Data.Programs[0].Id, IsActive = true, ProviderId = 1 }, new ServiceOffering { ServiceType = Data.ServiceTypes[0], Program = Data.Programs[1], ProgramId = Data.Programs[1].Id, IsActive = true, ProviderId = 1 }, new ServiceOffering { ServiceType = Data.ServiceTypes[1], Program = Data.Programs[1], ProgramId = Data.Programs[1].Id, IsActive = true, ProviderId = 1 } } }; Data.Providers.Clear(); Data.ServiceOfferings.Clear(); Data.Providers.Add(toEdit); Data.ServiceOfferings.AddRange(toEdit.ServiceOfferings); var viewModel = new ProviderModel { SelectedPrograms = new[] { 1 }, Id = 1 }; PermissionFactory.Current.Expect(m => m.Create("EditProvider", viewModel.Id)).Return(MockRepository.GenerateMock<IPermission>()); Target.Edit(User, viewModel); Assert.IsTrue(Data.ServiceOfferings.Where(s => s.IsActive).All(s => s.ProgramId == 1)); }
public void GivenViewModel_WhenPopulateViewModel_ThenViewModelContainsActiveProgramList() { var model = new ProviderModel(); Target.PopulateViewModel(model); CollectionAssert.AreEqual(Data.Programs.Where(p => p.IsActive).ToList(), model.Programs.Items.Cast<Program>().ToList()); }
public void GivenProgramSelection_WhenCreate_ThenServiceOfferingsCreatedForNewProgramMappings() { Provider added = null; var programs = Data.Programs.Take(2); var viewModel = new ProviderModel { SelectedPrograms = programs.Select(p => p.Id).ToList() }; Repositories.MockProviderRepository.Expect(m => m.Add(null)).IgnoreArguments().Do(new Action<Provider>(p => { added = p; })); Target.Create(User, viewModel); foreach (Program program in programs) { foreach (ServiceType serviceType in program.ServiceOfferings.Select(s => s.ServiceType)) { Repositories.MockServiceOfferingRepository.AssertWasCalled(m => m.Add(Arg<ServiceOffering>.Matches(s => s.Provider == added && s.ProgramId == program.Id && s.ServiceTypeId == serviceType.Id && s.IsActive))); } } }
private static bool AssertPropertieMatch(ProviderModel expectedState, Provider actualState) { Assert.IsNotNull(actualState); Assert.AreEqual(expectedState.Name, actualState.Name); Assert.AreEqual(expectedState.Website, actualState.Website); Assert.AreEqual(expectedState.Address, actualState.Address); Assert.AreEqual(expectedState.Contact, actualState.Contact); return true; }
public void GivenProviderIsTheLastOneOnAProgram_WhenEdit_ThenProgramIsDeactivated() { Data.StudentAssignedOfferings.Clear(); var programToDeactivate = Data.Programs[0]; var viewModel = new ProviderModel { Id = 1, SelectedPrograms = new int[] { 2 } }; PermissionFactory.Current.Expect(m => m.Create("EditProvider", viewModel.Id)).Return(MockRepository.GenerateMock<IPermission>()); Target.Edit(User, viewModel); Assert.IsFalse(programToDeactivate.IsActive); }
public ActionResult Edit(ProviderModel viewModel) { try { if (ModelState.IsValid) { LogicManager.Edit((EducationSecurityPrincipal)User, viewModel); return Json(true); } else { LogicManager.PopulateViewModel(viewModel); return PartialView(viewModel); } } catch (ValidationException e) { ModelState.AddModelErrors(e); LogicManager.PopulateViewModel(viewModel); return PartialView(viewModel); } }
public void GivenViewModelOfDuplicate_WhenValidate_ThenThrowException() { ProviderModel viewModel = new ProviderModel { Id = 0 /* Default */, Name = "YMCA" }; Target.ExpectException<ValidationException>(() => Target.Validate(viewModel)); }