コード例 #1
0
        public async Task <IActionResult> EditOrgProfile(OrganizationViewModel editOrgProfile)
        {
            var currentOrg = await userManager.GetUserAsync(HttpContext.User);

            ModelState.Remove("Password");
            if (ModelState.IsValid)
            {
                if (editOrgProfile.File != null)
                {
                    var errors = imageService.Validate(editOrgProfile.File, editOrgProfile.ErrorMessages);
                    if (errors.Count != 0)
                    {
                        return(View(editOrgProfile));
                    }
                    await imageService.UploadAsync(editOrgProfile.File, currentOrg.Id, "organization");

                    await userService.SetIndexImageAsync(currentOrg, "organization");
                }
                await userService.EditOrgProfile(editOrgProfile, currentOrg.Id);

                return(RedirectToAction(nameof(OrgProfile)));
            }

            return(View(editOrgProfile));
        }
コード例 #2
0
        public async Task Update(OrganizationViewModel viewModel)
        {
            var organization = await _organizationRepository.GetBy(new OrganizationIdentifier(viewModel.OrganizationId));

            organization.UpdateName(viewModel.OrganizationName);
            await _organizationRepository.Store(organization);
        }
コード例 #3
0
        public async Task <IActionResult> PutOrganization([FromRoute] int id, [FromBody] OrganizationViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var organization = _context.Organizations.FirstOrDefault(o => o.Id == id && o.OwnerId == User.Identity.Name);

            if (organization != null)
            {
                organization.Name                  = model.Name;
                organization.CreateDate            = model.CreateDate;
                organization.Description           = model.Description;
                _context.Entry(organization).State = EntityState.Modified;
            }

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OrganizationExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #4
0
        public void Search_returns_matching_organizations_from_OrganizationService()
        {
            // Arrange

            var organization1 = new OrganizationViewModel
            {
                OrganizationId = Guid.NewGuid(), OrganizationName = "Organization1", IsEnabled = true
            };
            var organization2 = new OrganizationViewModel
            {
                OrganizationId = Guid.NewGuid(), OrganizationName = "Organization2", IsEnabled = true
            };
            var organizationService = Substitute.For <IOrganizationService>();

            organizationService.Search(Arg.Any <string>()).Returns(new List <OrganizationViewModel>
            {
                organization1, organization2
            });
            var sut = new OrganizationApiController(organizationService);

            // Act

            var result = sut.Search(String.Empty);

            // Assert

            result.GetType().ShouldBe(typeof(JsonResult));
            var jsonResult = (JsonResult)result;
            var viewModels = ((IEnumerable <OrganizationViewModel>)jsonResult.Value).ToList();

            viewModels.Count.ShouldBe(2);
            viewModels.Any(x => x.OrganizationId == organization1.OrganizationId).ShouldBeTrue();
            viewModels.Any(x => x.OrganizationId == organization2.OrganizationId).ShouldBeTrue();
        }
コード例 #5
0
ファイル: Mapper.cs プロジェクト: akagrand1k/CityLife
        public static OrganizationViewModel ToViewModel(Organization entity)
        {
            OrganizationViewModel model = new OrganizationViewModel();

            if (!string.IsNullOrEmpty(entity.LargePathImage))
            {
                model.LargePathImage = AppConstants.directoryProfileAvatar + entity.LargePathImage;
            }

            if (!string.IsNullOrEmpty(entity.SmallPathImage))
            {
                model.SmallPathImage = AppConstants.directoryProfileAvatar + entity.SmallPathImage;
            }

            model.Name               = entity.Name;
            model.ShortDescription   = entity.ShortDescription;
            model.Alias              = entity.Alias;
            model.IsActive           = entity.IsActive;
            model.ClassifierId       = entity.ClassifierId;
            model.DateCreate         = entity.DateCreate;
            model.DetailsDescription = entity.DetailsDescription;
            model.HeightImg          = entity.HeightImg;
            model.WidthImg           = entity.WidthImg;
            model.Id         = entity.Id;
            model.IsDelete   = entity.IsDelete;
            model.OwnerId    = entity.OwnerId;
            model.Classifier = entity.Classifier;
            model.Owner      = entity.Owner;
            model.Building   = entity.Building;
            model.Street     = entity.Street;
            model.Home       = entity.Home;
            model.Longitude  = entity.Longitude;
            model.Latitude   = entity.Latitude;
            return(model);
        }
コード例 #6
0
        public ActionResult Organization(OrganizationViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    OrganizationBO organization = new OrganizationBO
                    {
                        Name      = model.FullName,
                        ShortName = model.ShortName,
                        Status    = Entity.Enums.Status.ACTIVE,
                        Audit     = new Entity.Entities.Audit(CurrentUserId)
                    };
                    zeus.organizationManager.Add(organization);

                    return(View());
                }
                return(View());
            }
            catch (Exception ex)
            {
                LogError(ex, CurrentUserId);
                return(View(model));
            }
        }
コード例 #7
0
        public ActionResult ListOrganization()
        {
            var organization_vm = new OrganizationViewModel();

            //Lấy table nhân viên
            var resultTableConfig   = this._tableConfigService.GetTableConfigByTableName(TableConfig.Organization);
            var responseTableConfig = JsonConvert.DeserializeObject <HrmResultModel <TableConfigModel> >(resultTableConfig);
            var dataTableConfig     = JsonConvert.DeserializeObject <TableViewModel>(responseTableConfig.Results[0].ConfigData);

            //model param
            var param = new BasicParamModel()
            {
                FilterField = string.Empty,
                PageNumber  = 1,
                PageSize    = dataTableConfig.ItemsPerPage,
                LanguageId  = _languageId,
                RoleId      = _roleId,
                UserId      = _userId,
                DbName      = CurrentUser.DbName
            };

            organization_vm.Table = RenderTable(dataTableConfig, param, TableName.TableOrganization);

            return(View(organization_vm));
        }
コード例 #8
0
ファイル: Mapper.cs プロジェクト: akagrand1k/CityLife
        public static Organization ToEntity(OrganizationViewModel model)
        {
            Organization entity = new Organization();

            entity.LargePathImage     = model.LargePathImage;
            entity.SmallPathImage     = model.SmallPathImage;
            entity.Name               = model.Name;
            entity.ShortDescription   = model.ShortDescription;
            entity.Alias              = model.Alias;
            entity.IsActive           = model.IsActive;
            entity.ClassifierId       = model.ClassifierId;
            entity.DateCreate         = model.DateCreate;
            entity.DetailsDescription = model.DetailsDescription;
            entity.HeightImg          = model.HeightImg;
            entity.WidthImg           = model.WidthImg;
            entity.Id        = model.Id;
            entity.IsDelete  = model.IsDelete;
            entity.OwnerId   = model.OwnerId;
            entity.Building  = model.Building;
            entity.Street    = model.Street;
            entity.Home      = model.Home;
            entity.Longitude = model.Longitude;
            entity.Latitude  = model.Latitude;

            return(entity);
        }
コード例 #9
0
ファイル: UserProfileService.cs プロジェクト: bob1457/qZONE
        public void UpdateOrganization(int id, OrganizationViewModel organization)
        {
            //throw new NotImplementedException();

            //var orgForUpdate = _userProfileRepository.GetOrganizationById(id);

            var orgUpdated = new Organization(organization.Notes,
                                              organization.IsActive,
                                              organization.LogoImgUrl,
                                              organization.OrganizationType,
                                              organization.Description,
                                              organization.Notes,
                                              organization.Telephone,
                                              organization.MessageCode);

            var address = new Address(organization.PostZipCode,
                                      organization.ProvState,
                                      organization.City,
                                      organization.AddressLine2,
                                      organization.AddressLine1);

            //organization.Name = organization.Name;
            //organization.Description = organization.Description;
            //organization.Telephone = organization.Telephone;
            //organization.MessageCode = organization.MessageCode;
            organization.UpdateDate = DateTime.Now;

            //organization.AddressLine1 = organization.AddressLine1;
            //organization.City = organization.City;
            //organization.ProvState = organization.ProvState;
            //organization.PostZipCode = organization.PostZipCode;

            _userProfileRepository.UpdateOrganization(id, orgUpdated, address);
        }
コード例 #10
0
        public ActionResult List()
        {
            var organization_vm = new OrganizationViewModel();

            var resultTableConfig   = this._tableConfigService.GetTableConfigByTableName(TableConfig.StaffOrganization);
            var responseTableConfig = JsonConvert.DeserializeObject <HrmResultModel <TableConfigModel> >(resultTableConfig);
            var dataTableConfig     = JsonConvert.DeserializeObject <TableViewModel>(responseTableConfig.Results[0].ConfigData);

            //model param
            var param = new BasicParamModel()
            {
                FilterField = string.Empty,
                PageNumber  = 1,
                PageSize    = dataTableConfig.ItemsPerPage,
                LanguageId  = _languageId,
                RoleId      = _roleId,
                UserId      = _userId,
                DbName      = CurrentUser.DbName
            };

            organization_vm.Table = RenderTable(dataTableConfig, param, TableName.TableStaffOrganization);

            //Get tree phòng ban
            param.PageSize = int.MaxValue;
            var responseTreeView = GetOrganization(_organizationService, param, out _totalRecord);
            var data             = JsonConvert.DeserializeObject <List <dynamic> >(JsonConvert.SerializeObject(responseTreeView));

            organization_vm.Organizations     = data;
            organization_vm.OrganizationsTree = responseTreeView;
            return(View(organization_vm));
        }
コード例 #11
0
ファイル: UserProfileService.cs プロジェクト: bob1457/qZONE
        public void UpdateOrganization(OrganizationViewModel organization)
        {
            //throw new NotImplementedException();

            var orgForUpdate = _userProfileRepository.GetOrganizationById(organization.Id);

            try
            {
                orgForUpdate.Name        = organization.Name;
                orgForUpdate.Description = organization.Description;
                orgForUpdate.Telephone   = organization.Telephone;
                orgForUpdate.MessageCode = organization.MessageCode;
                organization.UpdateDate  = DateTime.Now;

                orgForUpdate.Address.AddressLine1 = organization.AddressLine1;
                orgForUpdate.Address.City         = organization.City;
                orgForUpdate.Address.ProvState    = organization.ProvState;
                orgForUpdate.Address.PostZipCode  = organization.PostZipCode;


                _userProfileRepository.UpdateOrganization(organization.Id, orgForUpdate, orgForUpdate.Address);
            }
            catch (Exception exception)
            {
                var msg = exception.Message;
                throw;
            }
        }
コード例 #12
0
        public bool UpdateClinicInformationForFirstTime(OrganizationViewModel model)
        {
            bool saved = false;

            try
            {
                db.BeginTransaction();
                int save = UpdateOrganizationProfie(model.Organization);
                if (save > 0)
                {
                    saved = new UserDAL(db).UpdateUserProfile(model.User);
                }
                else
                {
                    db.RollBack();
                }

                db.Commit();
            }
            catch (Exception ex)
            {
                db.RollBack();
                //tran.Dispose();
                throw ex;
            }
            //  }

            //}

            return(saved);
        }
コード例 #13
0
        public IActionResult Login(OrganizationViewModel ovm)
        {
            if (!ModelState.IsValid)
            {
                return(View(ovm));
            }
            ovm.Email    = ovm.Email.ToLower().Replace(" ", "");
            ovm.Password = ovm.Password.Replace(" ", "");             //FIXME: ???

            Task <Organization> task = FindOrgByEmail(ovm.Email);

            task.Wait();
            Organization org = task.Result;

            if (org == null)
            {
                return(View(ovm));
            }
            if (!org.CheckCredentials(ovm.Password))
            {
                return(View(ovm));
            }
            HttpContext.Session.SetString("OrgID", org.OrganizationID.ToString());
            return(Redirect("/organization/index"));
        }
コード例 #14
0
 public async Task <IActionResult> Post([FromBody] OrganizationViewModel newOrganization)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     // create organization in repo.
     try
     {
         var theNewOrganization = Mapper.Map <Organization>(newOrganization);
         _repository.AddOrganization(theNewOrganization);
         if (await _repository.SaveChangesAsync())
         {
             return(Created($"api/organization/{newOrganization.Name}", newOrganization));
         }
     }
     catch (HighFiveException ex)
     {
         _logger.LogError("Failed to add new organization: {0}", ex);
         return(BadRequest(new { ex.Message }));
     }
     catch (Exception ex)
     {
         _logger.LogError("Failed to add new organization: {0}", ex);
     }
     return(BadRequest(new { Message = $"Failed to add new organization {newOrganization.Name}" }));
 }
コード例 #15
0
ファイル: ToolsController.cs プロジェクト: hdpham77/Test
        public ActionResult CreateNewOrganization()
        {
            OrganizationViewModel viewModel = SystemViewModelData.BuildUpOrganizationViewModel();

            viewModel.CheckDuplicates = true;
            return(View(viewModel));
        }
コード例 #16
0
        public async Task <IHttpActionResult> Put([FromBody] OrganizationViewModel model)
        {
            model.ParentId = 1;
            try
            {
                var branch = await _organization.UpdateAsync(model);

                if (branch != null)
                {
                    model.Id = branch.Id;
                }

                var result = new
                {
                    Error   = branch == null,
                    Message = branch == null ? "Branch Update failed." : "",
                    Data    = branch == null ? null : model
                };
                return(Ok(result));
            }
            catch (Exception ex)
            {
                ex.WriteLog();
                return(BadRequest("Branch Update failed."));
            }
        }
コード例 #17
0
        /// <summary>
        /// Create Organization and Address Info
        /// </summary>
        /// <param name="modelVM"></param>
        /// <returns>Id of Organization Created</returns>
        internal static int CreateOrganization(OrganizationViewModel modelVM)
        {
            using (ApplicationDbContext dbContext = new ApplicationDbContext())
            {
                dbContext.Database.Log = x => System.Diagnostics.Debug.WriteLine(x);

                Organization model = new Organization()
                {
                    OrganizationName       = modelVM.OrganizationName,
                    DUNSNumber             = modelVM.DUNSNumber,
                    IsSameAsMailingAddress = modelVM.IsSameAsMailingAddress,
                    ModifiedOn             = DateTime.UtcNow,
                    CreatedOn = DateTime.UtcNow,
                };

                model.Addresses.Add(modelVM.MailingAddress);
                if (!modelVM.IsSameAsMailingAddress)
                {
                    model.Addresses.Add(modelVM.PhysicalAddress);
                }

                dbContext.Organizations.Add(model);
                dbContext.SaveChanges();

                return(model.ID);
            }
        }
コード例 #18
0
        private static ContactViewModel ResolveContact(Contact contact)
        {
            ContactViewModel destination = null;

            if (contact.IsOrganization)
            {
                destination = new OrganizationViewModel();

                Mapper.Map(contact, destination);
            }
            else if (contact.IsPerson)
            {
                destination = new PersonViewModel();

                Mapper.Map(contact, destination);
            }
            else
            {
                destination = new ContactViewModel();

                Mapper.Map(contact, destination);
            }

            return(destination);
        }
コード例 #19
0
        public OrganizationViewModel AddUpdateOrganization(OrganizationViewModel model, int LoggedInUserId, int LoggedInOrganizationId)
        {
            Organization _Organization = Mapper.Map <OrganizationViewModel, Organization>(model);

            if (model.OrganizationID == 0)
            {
                base.Insert(_Organization);
                this._unitOfWork.Save();
                Role role = new Role();
                role.Active         = true;
                role.OrganizationId = _Organization.OrganizationID;
                role.RoleName       = "Admin";
                role.IsAdmin        = true;
                base.RepositoryContext.Roles.Add(role);
            }
            else
            {
                _Organization = GetSingle(model.OrganizationID, LoggedInUserId, LoggedInOrganizationId);
                _Organization.OrganizationName = model.OrganizationName;
                _Organization.State            = model.State;
                _Organization.City             = model.City;
                _Organization.AddressLine      = model.AddressLine;
                _Organization.IsActive         = model.IsActive;
                base.Update(_Organization);
            }
            this._unitOfWork.Save();
            model.OrganizationID = _Organization.OrganizationID;
            return(model);
        }
コード例 #20
0
ファイル: ToolsController.cs プロジェクト: hdpham77/Test
        public ActionResult OrganizationAccessRequestConfirmation(OrganizationViewModel viewModel, FormCollection collection, string phoneNumber, string jobTitle)
        {
            viewModel = SystemViewModelData.BuildUpOrganizationViewModel(viewModel.Entity.ID);

            //Get the contact for the current user
            Contact contact = Repository.OrganizationContacts.GetByAccount(CurrentAccountID);

            //Figures out who to send the "Request" to and delivers the emails too.
            var evnt = Services.Events.CreateOrganizationAccessRequest(viewModel.Entity, contact, phoneNumber, jobTitle);

            if (evnt != null)
            {
                //There can be 3 possibilities. They are:
                //1. the ball is in the organizations regulator contacts (OrgUserARNotificiation) court to approve/deny request.
                //2. the ball is in the Organization Contact's (lead users) court to approve/deny request.
                //3. the ball is in the CERS Help Center's court to approve/deny request.
                viewModel.EvtTicketCode = evnt.TicketCode;
                viewModel.EvtTypeCode   = evnt.GetEventTypeCode();
                viewModel.Regulator     = evnt.Regulator;
                if (evnt.Notifications.Count > 0)
                {
                    List <Contact> contacts = new List <Contact>();
                    evnt.Notifications.ToList().ForEach(n => contacts.Add(n.Contact));
                    viewModel.NotificationContacts = contacts;
                }
            }

            return(View(viewModel));
        }
コード例 #21
0
        // [Authorize]
        public async Task <IActionResult> Post([FromBody] OrganizationCreateViewModel organization)
        {
            if (ModelState.IsValid)
            {
                var user = await GetCurrentUserAsync();

                // For testing purposes, uncomment the line below and comment the GetCurrentUserAsync() line.
                // ApplicationUser user = await context.ApplicationUser.SingleAsync(u => u.FirstName == "Matt");

                Organization org = new Organization()
                {
                    Organizer   = user,
                    Name        = organization.Name,
                    Description = organization.Description,
                    City        = organization.City,
                    State       = organization.State,
                    IsActive    = true
                };

                context.Add(org);

                await context.SaveChangesAsync();

                OrganizationViewModel model = new OrganizationViewModel(org, new ApplicationUserViewModel(user));
                return(Json(model));
            }
            return(BadRequest());
        }
コード例 #22
0
 public bool AddOrganization(OrganizationViewModel organization)
 {
     try
     {
         using (UserContext db = new UserContext())
         {
             Organization sp = new Organization
             {
                 OrganizationId   = organization.OrganizationId,
                 License          = organization.License,
                 OrganizationName = organization.OrganizationName,
                 СhairmanName     = organization.СhairmanName,
                 SecretaryName    = organization.SecretaryName,
                 TeacherName      = organization.TeacherName
             };
             db.Organizations.AddOrUpdate(sp);
             db.SaveChanges();
             return(true);
         }
     }
     catch
     {
         return(false);
     }
 }
コード例 #23
0
        public ActionResult Create(OrganizationViewModel organization)
        {
            //OrganizationService os = new OrganizationService();
            try
            {
                if (ModelState.IsValid)
                {
                    organization o = new organization();
                    //o.id = organization.id;
                    o.name        = organization.name;
                    o.type        = organization.type;
                    o.PresidentID = organization.PresidentID;
                    o.Location    = organization.Location;

                    os.Add(o);
                    os.Commit();

                    Session["organization"] = o;
                    return(RedirectToAction("Index"));
                }
                return(View());
            }
            catch
            {
                return(View());
            }
        }
コード例 #24
0
        public ActionResult Delete(int id, FormCollection collection)
        {
            try
            {
                OrganizationService   os = new OrganizationService();
                organization          o  = os.GetById(id);
                OrganizationViewModel om = new OrganizationViewModel();
                om.id        = o.id;
                om.name      = o.name;
                om.type      = o.type;
                om.President = us.GetById((int)o.PresidentID);

                user i = om.President;
                o.PresidentID = null;
                i.DTYPE       = "user";
                us.Update(i);
                us.Commit();
                os.Delete(o);
                os.Commit();

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
コード例 #25
0
        // GET api/<controller>
        public IEnumerable <OrganizationViewModel> Get()
        {
            List <OrganizationViewModel> organizationViewModels = new List <OrganizationViewModel>();
            //var result = _orgRepository.Organizations.Select(model => new
            //{
            //    model.Id,
            //    model.Name,
            //    model.Account,
            //    Activity = model.ActivityType.Name,
            //    ActivityId = model.ActivityType.Id
            //}).ToList();

            var organizations = _orgRepository.Get;
            var activities    = _activityRepository.Get;

            foreach (var organization in organizations)
            {
                var activity = activities.FirstOrDefault(a => a.Id == organization.ActivityTypeId);
                var organizationViewModel = new OrganizationViewModel
                {
                    Id             = organization.Id,
                    Name           = organization.Name,
                    Account        = organization.Account,
                    Activity       = activity.Name,
                    ActivityTypeId = activity.Id
                };
                organizationViewModels.Add(organizationViewModel);
            }

            return(organizationViewModels);
        }
コード例 #26
0
        public ActionResult Create([Bind(Include = "Id,Name")] OrganizationViewModel organizationViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Organization organization = Mapper.Map <Organization>(organizationViewModel);

                    var name = organization.Name.Trim();

                    if (_organizationManager.GetAll().Count(o => o.Name == name) > 0)
                    {
                        ViewBag.Message1 = "Organization name already exist.";
                    }
                    if (ViewBag.Message1 == null)
                    {
                        _organizationManager.Add(organization);

                        TempData["msg"] = "Information has been save successfully";
                        return(RedirectToAction("Index"));
                    }
                }

                return(View(organizationViewModel));
            }
            catch (Exception ex)
            {
                ExceptionMessage(ex);
                return(View("Error", new HandleErrorInfo(ex, "Organizations", "Create")));
            }
        }
コード例 #27
0
        public void OrganizationsControllers_Post_InvalidModel()
        {
            var options = CreateNewContextOptions();

            using (var context = new HighFiveContext(_config, options))
            {
                var repo       = new HighFiveRepository(context, _repoLogger);
                var controller = new OrganizationsController(repo, _controllerLogger);

                controller.ViewData.ModelState.Clear();

                var noname = new OrganizationViewModel();
                controller.ViewData.ModelState.AddModelError("Name", "The Name field is required.");

                controller.ViewData.ModelState.Should().HaveCount(1);
                controller.ViewData.ModelState["Name"].Errors.Should().HaveCount(1);
                controller.ViewData.ModelState["Name"].Errors[0].ErrorMessage.Should().Be("The Name field is required.");

                var org = controller.Post(noname);
                org.Result.Should().BeOfType <BadRequestObjectResult>();
                var badRequestResult = org.Result as BadRequestObjectResult;
                var errLst           = badRequestResult.Value as SerializableError;
                var errMsg           = ((string[])errLst["Name"]).Aggregate(string.Empty, (current, errVal) => current + errVal);
                Assert.AreEqual("The Name field is required.", errMsg);
            }
        }
コード例 #28
0
        public ActionResult Index()
        {
            OrganizationViewModel _organizationViewModel = new OrganizationViewModel();

            if (HCRGCLIENT.ClientTypeID == 1)
            {
                _organizationViewModel.OrganizationResults = Mapper.Map <IEnumerable <Organization> >(_clientService.getAllOrganization());
            }
            else if (HCRGCLIENT.ClientTypeID == 2)
            {
                _organizationViewModel.OrganizationResults = Mapper.Map <IEnumerable <Organization> >(_clientService.getOrganizationByOrganizationID(HCRGCLIENT.OrganizationID));
            }
            else
            {
                return(RedirectToAction("Unauthorized", "Common"));
            }

            foreach (var objorganizationResult in _organizationViewModel.OrganizationResults)
            {
                objorganizationResult.EncryptedOrganizationID = EncryptString(objorganizationResult.OrganizationID.ToString());
            }
            if (HCRGCLIENT.ClientTypeID == 1)
            {
                _organizationViewModel.IsHCRGAdmin = true;
            }
            else
            {
                _organizationViewModel.IsHCRGAdmin = false;
            }
            return(View(_organizationViewModel));
        }
コード例 #29
0
        public void Edit(OrganizationViewModel viewModel)
        {
            if (Organizations.FirstOrDefault(o => o.Id == viewModel.Id) == null)
            {
                throw new Exception("can't load by id: " + viewModel.Id.ToString());
            }

            var model = OrganizationRespository.Entities.First(o => o.Id == viewModel.Id);

            //viewModel中Parent为null,所以model的ParentID不能被赋值
            //if (viewModel.ParentID != model.ParentID)
            //{
            //    AutoMapper.Mapper.Map(viewModel, model);
            //    model.Parent = null;
            //}
            //else
            //{
            //    AutoMapper.Mapper.Map(viewModel, model);
            //}

            model.Name = viewModel.Name;
            var isUpdate = OrganizationRespository.Update(model) > 0;

            if (isUpdate)
            {
                CleanCache();
                LoadOrganizations();
            }
        }
コード例 #30
0
        /// <summary>
        /// add new organization async
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public virtual async Task <ResultModel <Guid> > AddNewOrganizationAsync(OrganizationViewModel model)
        {
            if (model == null)
            {
                return(new NotFoundResultModel <Guid>());
            }

            var organizationBd =
                await _organizationContext.Organizations
                .FirstOrDefaultAsync(x => string.Equals(x.FiscalCode.Trim(), model.FiscalCode.Trim(), StringComparison.CurrentCultureIgnoreCase));


            if (organizationBd != null)
            {
                return new ResultModel <Guid>
                       {
                           IsSuccess = false, Errors = new List <IErrorModel> {
                               new ErrorModel {
                                   Message = "Organization exist"
                               }
                           }
                       }
            }
            ;

            var newOrganization = _mapper.Map <Organization>(model);
            await _organizationContext.Organizations.AddAsync(newOrganization);

            var result = await _organizationContext.PushAsync();

            return(result.Map(newOrganization.Id));
        }
コード例 #31
0
        public async Task<ActionResult> Create(OrganizationViewModel model, CancellationToken cancellationToken)
        {
            if (ModelState.IsValid)
            {
                var command = new CreateOrganizationCommand(model.Name, User.Identity.GetUserId());

                Organization organization = await _createOrganization.Execute(command, cancellationToken);

                return RedirectToAction("Details", new {id = organization.Id});
            }

            return View();
        }
コード例 #32
0
        private static ContactViewModel ResolveContact(Contact contact)
        {
            ContactViewModel destination = null;

            if (contact.IsOrganization)
            {
                destination = new OrganizationViewModel();

                Mapper.Map(contact, destination);
            }
            else if (contact.IsPerson)
            {
                destination = new PersonViewModel();

                Mapper.Map(contact, destination);
            }
            else
            {
                destination = new ContactViewModel();

                Mapper.Map(contact, destination);
            }

            return destination;
        }
コード例 #33
0
        private static void MockMediatorOrganizationDetailsQuery(out OrganizationController controller, OrganizationViewModel model = null)
        {
            if (model == null)
                model = new OrganizationViewModel { Id = 1, Name = "Org 1" };

            var mockMediator = new Mock<IMediator>();
            mockMediator.Setup(mock => mock.SendAsync(It.IsAny<OrganizationDetailsQuery>())).Returns(() => Task.FromResult(model)).Verifiable();
            controller = new OrganizationController(mockMediator.Object);
        }