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);
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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));
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        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);
        });
Ejemplo n.º 15
0
        /// <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);
                }
            }
        }
Ejemplo n.º 16
0
        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());
        }
Ejemplo n.º 19
0
        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);
        }
Ejemplo n.º 20
0
        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);
        }
Ejemplo n.º 21
0
        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));
        }
Ejemplo n.º 22
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);
            }
        }
Ejemplo n.º 23
0
        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);
        }
Ejemplo n.º 25
0
        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;
        }
Ejemplo n.º 26
0
        // 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());
            }
        }
Ejemplo n.º 27
0
        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());
        }
Ejemplo n.º 28
0
 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));
 }
Ejemplo n.º 29
0
        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);
        }
Ejemplo n.º 31
0
 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());
     }
 }
Ejemplo n.º 32
0
        /// <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);
        }
Ejemplo n.º 33
0
        /// <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);
        }
Ejemplo n.º 34
0
        /// <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);
        }
Ejemplo n.º 38
0
        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);
        }
Ejemplo n.º 52
0
        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));
        }