public async Task <IActionResult> RemoveModerator(BusinessUnitViewModel model)
        {
            try
            {
                var businessUnitId = model.Id;
                var moderatorId    = model.ModeratorId;


                var businessUnit = await this.businessUnitService.GetBusinessUnitById(businessUnitId);

                var moderator = await this.userService.GetUserByIdAsync(moderatorId);

                await this.businessUnitService.RemoveModeratorFromBusinessUnitsAsync(moderatorId, businessUnitId);

                return(Ok(string.Format(WebConstants.SuccessfullyRemovedModeratorFromBusinessUnit, moderator.UserName, businessUnit.Name)));
            }
            catch (NotFoundException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                log.Error("Unexpected exception occured:", ex);
                return(RedirectToAction("Error", "Home"));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// To activate or inactivate business days
        /// </summary>
        /// <param name="businessUnit"></param>
        /// <returns></returns>
        public bool ActiveOrInactiveBusinessUnit(BusinessUnitViewModel businessUnit)
        {
            try
            {
                if (businessUnit != null)
                {
                    BusinessModel.BusinessModels.BusinessUnit businessUnitBusines = new BusinessModel.BusinessModels.BusinessUnit()
                    {
                        BusinessUnitCode        = businessUnit.BusinessUnitCode,
                        BusinessUnitName        = businessUnit.BusinessUnitName,
                        BusinessUnitDescription = businessUnit.BusinessUnitDescription,
                        Site = new BusinessModel.BusinessModels.Site()
                        {
                            SiteCode        = businessUnit.Site.SiteCode,
                            SiteDescription = businessUnit.Site.SiteDescription,
                            SiteId          = businessUnit.Site.SiteId,
                            SiteName        = businessUnit.Site.SiteName,
                            RecordStatus    = businessUnit.Site.RecordStatus
                        }
                    };

                    return(_businesssUnitRepository.ActiveOrInactiveBusinessUnit(businessUnitBusines));
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                _logger.Log(ex, LogLevel.Error, ex.Message);
                return(false);
            }
        }
Exemplo n.º 3
0
        public async Task ThrowsArgumentExceptionTheNameIsTooLong()
        {
            var businessUnitServiceMock = new Mock <IBusinessUnitService>();
            var userServiceMock         = new Mock <IUserService>();
            var imageOptimizerMock      = new Mock <IImageOptimizer>();

            var sut = new BusinessUnitsController(businessUnitServiceMock.Object, userServiceMock.Object, imageOptimizerMock.Object);

            var businessUnitViewModel = new BusinessUnitViewModel()
            {
                Name                = new string ('a', 1000),
                Address             = "Cerni Vryh",
                PhoneNumber         = "1234567890",
                Email               = "*****@*****.**",
                Information         = "this is an information",
                CategoryId          = 1,
                TownId              = 1,
                BusinessUnitPicture = null
            };

            businessUnitServiceMock.Setup(x => x.CreateBusinnesUnitAsync(businessUnitViewModel.Name, businessUnitViewModel.Address, businessUnitViewModel.PhoneNumber, businessUnitViewModel.Email, businessUnitViewModel.Information, businessUnitViewModel.CategoryId, businessUnitViewModel.TownId, businessUnitViewModel.Picture)).ThrowsAsync(new ArgumentException());

            var actionResult = await sut.Create(businessUnitViewModel);

            Assert.IsInstanceOfType(actionResult, typeof(BadRequestObjectResult));
        }
Exemplo n.º 4
0
 /// <summary>
 /// Returns the Business Units
 /// </summary>
 /// <returns></returns>
 public List <BusinessUnitViewModel> GetBusinessUnits(bool fromClient)
 {
     try
     {
         List <BusinessUnitViewModel> businessUnits = new List <BusinessUnitViewModel>();
         IEnumerable <BusinessModel.BusinessModels.BusinessUnit> businessUnitsDTO = _businesssUnitRepository.GetBusinessUnits();
         foreach (BusinessModel.BusinessModels.BusinessUnit businessUnitDTO in businessUnitsDTO)
         {
             BusinessUnitViewModel businessUnit = new BusinessUnitViewModel();
             businessUnit.BusinessUnitCode        = businessUnitDTO.BusinessUnitCode;
             businessUnit.BusinessUnitName        = businessUnitDTO.BusinessUnitName;
             businessUnit.BusinessUnitDescription = businessUnitDTO.BusinessUnitDescription;
             businessUnit.RecordStatus            = businessUnitDTO.RecordStatus;
             businessUnit.ID      = businessUnitDTO.ID;
             businessUnit.Clients = GetClientsAssociatedWithBusinessUnit(businessUnit.ID, false);
             businessUnits.Add(businessUnit);
         }
         return(fromClient ? businessUnits.OrderBy(b => b.BusinessUnitName).ToList() : businessUnits);
     }
     catch (Exception ex)
     {
         _logger.Log(ex, LogLevel.Error, ex.Message);
         return(null);
     }
 }
Exemplo n.º 5
0
        public ActionResult CreateBusinessUnitPost(BusinessUnitViewModel model)
        {
            if (!this.services.Authorizer.Authorize(Permissions.BasicDataPermission))
            {
                return(new HttpUnauthorizedResult());
            }

            if (!this.ModelState.IsValid)
            {
                return(this.View("CreateBusinessUnit", model));
            }

            var businessUnit = this.services.ContentManager.New("BusinessUnit");

            this.services.ContentManager.Create(businessUnit);
            BusinessUnitPart       part = businessUnit.As <BusinessUnitPart>();
            BusinessUnitPartRecord businessUnitRecord = part.Record;

            businessUnitRecord.Name        = model.Name;
            businessUnitRecord.Description = model.Description;
            this.services.ContentManager.Publish(businessUnit);
            this.basicDataService.ClearCache();

            return(RedirectToAction("BusinessUnits"));
        }
Exemplo n.º 6
0
        public ActionResult EditBusinessUnitPost(BusinessUnitViewModel model)
        {
            if (!this.services.Authorizer.Authorize(Permissions.BasicDataPermission))
            {
                return(new HttpUnauthorizedResult());
            }

            if (!this.ModelState.IsValid)
            {
                return(this.View("EditBusinessUnit", model));
            }

            var businessUnit = this.businessUnitRepository.Table.FirstOrDefault(c => c.Id == model.BusinessUnitId);

            if (businessUnit == null)
            {
                this.ModelState.AddModelError("Id", this.T("There is no businessUnit with the given Id").ToString());
                return(this.View(model));
            }

            businessUnit.Name        = model.Name;
            businessUnit.Description = model.Description;
            this.businessUnitRepository.Flush();
            this.basicDataService.ClearCache();

            return(RedirectToAction("BusinessUnits"));
        }
Exemplo n.º 7
0
        public async Task ThrowsBadRequestWhenReviewViewModelIsNotValid()
        {
            var businessUnitServiceMock = new Mock <IBusinessUnitService>();
            var userServiceMock         = new Mock <IUserService>();
            var imageOptimizerMock      = new Mock <IImageOptimizer>();

            var sut = new BusinessUnitsController(businessUnitServiceMock.Object, userServiceMock.Object, imageOptimizerMock.Object);

            var businessUnitViewModel = new BusinessUnitViewModel()
            {
                Name                = null,
                Address             = "Cerni Vryh",
                PhoneNumber         = "1234567890",
                Email               = "*****@*****.**",
                Information         = "this is an information",
                CategoryId          = 1,
                TownId              = 1,
                BusinessUnitPicture = null
            };

            businessUnitServiceMock.Setup(x => x.CreateBusinnesUnitAsync(businessUnitViewModel.Name, businessUnitViewModel.Address, businessUnitViewModel.PhoneNumber, businessUnitViewModel.Email, businessUnitViewModel.Information, businessUnitViewModel.CategoryId, businessUnitViewModel.TownId, businessUnitViewModel.Picture)).ReturnsAsync(TestHelpersBusinessUnitController.TestBusinessUnitDTO01());

            var actionResult = await sut.Create(businessUnitViewModel);

            Assert.IsInstanceOfType(actionResult, typeof(BadRequestObjectResult));
        }
Exemplo n.º 8
0
        private async Task <BusinessUnitViewModel> CreateDropdownTowns(BusinessUnitViewModel model)
        {
            var cashedTowns = await CacheTowns();

            model.Categories = cashedTowns.Select(x => new SelectListItem(x.Name, x.Id.ToString()));

            return(model);
        }
Exemplo n.º 9
0
        public ContentItemSetPermissionsViewModel CreateModel()
        {
            var teams         = this.basicDataService.GetTeams().ToList();
            var businessUnits = this.basicDataService.GetBusinessUnits().ToList();

            var model = new ContentItemSetPermissionsViewModel();

            // fill businessUnits
            foreach (var businessUnit in businessUnits)
            {
                var businessUnitPart  = businessUnit.As <BusinessUnitPart>();
                var businessUnitModel = new BusinessUnitViewModel
                {
                    BusinessUnitId = businessUnitPart.Id,
                    Name           = businessUnitPart.Name,
                    Description    = businessUnitPart.Description,
                };

                foreach (var team in teams)
                {
                    var teamPart = team.As <TeamPart>();

                    if (teamPart.BusinessUnit != null && teamPart.BusinessUnit.Id == businessUnitPart.Id)
                    {
                        var teamViewModel = new TeamViewModel
                        {
                            TeamId         = teamPart.Id,
                            BusinessUnitId = teamPart.BusinessUnit != null ? (int?)teamPart.BusinessUnit.Id : null,
                            Name           = teamPart.Name,
                            Description    = teamPart.Description
                        };

                        model.Teams.Add(teamViewModel);
                        businessUnitModel.Teams.Add(teamViewModel);
                    }
                }

                model.BusinessUnits.Add(businessUnitModel);
            }

            // get users with operator permission
            var users = this.basicDataService.GetOperators().ToList();

            foreach (var user in users)
            {
                model.Users.Add(new SelectListItem
                {
                    Value = user.Id.ToString(CultureInfo.InvariantCulture),
                    Text  = CRMHelper.GetFullNameOfUser(user.As <UserPart>())
                });
            }

            return(model);
        }
Exemplo n.º 10
0
 public bool ActiveOrInactiveBusinessUnit([FromBody] BusinessUnitViewModel businessUnit)
 {
     if (businessUnit != null)
     {
         return(_businessUnitBusiness.ActiveOrInactiveBusinessUnit(businessUnit));
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 11
0
        private BusinessUnitViewModel Convert(BusinessUnitPartRecord record)
        {
            BusinessUnitViewModel businessUnitViewModel = new BusinessUnitViewModel
            {
                BusinessUnitId = record.Id,
                Name           = record.Name,
                Description    = record.Description
            };

            return(businessUnitViewModel);
        }
Exemplo n.º 12
0
        public void Fill(Collection <BusinessUnitViewModel> target, bool restrictToUserPermissions)
        {
            List <BusinessUnitPartRecord> businessUnits = null;
            List <TeamPartRecord>         teams         = null;

            var businessUnitsContentItems = this.basicDataService.GetBusinessUnits().ToList();
            var teamContentItems          = this.basicDataService.GetTeams();

            teams         = teamContentItems.Select(c => c.As <TeamPart>().Record).ToList();
            businessUnits = businessUnitsContentItems.Select(c => c.As <BusinessUnitPart>().Record).ToList();

            if (restrictToUserPermissions)
            {
                int userId            = this.orchardServices.WorkContext.CurrentUser.Id;
                var userBusinessUnits = this.basicDataService.GetBusinessUnitMembers().Where(c => c.UserPartRecord.Id == userId).ToList();
                businessUnits = businessUnits.Where(c => userBusinessUnits.Any(d => d.BusinessUnitPartRecord.Id == c.Id)).ToList();

                var userTeams = this.basicDataService.GetTeamMembers().Where(c => c.UserPartRecord.Id == userId).ToList();
                teams = teams.Where(c => userTeams.Any(d => d.TeamPartRecord.Id == c.Id)).ToList();
            }

            // organize the businessUnits in a tree structure including the teams
            Queue <BusinessUnitViewModel> queue = new Queue <BusinessUnitViewModel>();

            foreach (var root in businessUnits.Where(c => c.Parent == null))
            {
                BusinessUnitViewModel businessUnitViewModel = this.Convert(root);
                target.Add(businessUnitViewModel);
                queue.Enqueue(businessUnitViewModel);
            }

            while (queue.Count > 0)
            {
                var businessUnitViewModel = queue.Dequeue();
                var childRecords          = businessUnits.Where(c => c.Parent != null && c.Parent.Id == businessUnitViewModel.BusinessUnitId).ToList();

                foreach (var childRecord in childRecords)
                {
                    var childModel = this.Convert(childRecord);
                    businessUnitViewModel.BusinessUnits.Add(childModel);
                    queue.Enqueue(childModel);
                }

                var childTeams = teams.Where(c => c.BusinessUnitPartRecord.Id == businessUnitViewModel.BusinessUnitId);

                foreach (var team in childTeams)
                {
                    var teamModel = this.Convert(team);
                    businessUnitViewModel.Teams.Add(teamModel);
                }
            }
        }
        public async Task <IActionResult> Update(BusinessUnitViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(BadRequest(string.Format(WebConstants.UnableToUpdateBusinessUnit, model.Name)));
            }

            try
            {
                var businessUnitDTO = await this.businessUnitService.GetBusinessUnitById(model.Id);

                string imageName = null;

                if (model.BusinessUnitPicture != null)
                {
                    imageName = optimizer.OptimizeImage(model.BusinessUnitPicture, 400, 800);
                }

                if (model.Picture != null)
                {
                    optimizer.DeleteOldImage(model.Picture);
                }

                businessUnitDTO = await this.businessUnitService.UpdateBusinessUnitAsync(model.Id, model.Name, model.Address, model.PhoneNumber, model.Information, model.Email, model.CategoryId, model.TownId, imageName);

                if (businessUnitDTO.Name != model.Name)
                {
                    return(BadRequest(string.Format(WebConstants.UnableToUpdateBusinessUnit, model.Name)));
                }

                return(Ok(string.Format(WebConstants.BusinessUnitUpdated, model.Name)));
            }

            catch (NotFoundException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (AlreadyExistsException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (ArgumentException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                log.Error("Unexpected exception occured:", ex);
                return(RedirectToAction("Error", "Home"));
            }
        }
        public async Task <IActionResult> Create(BusinessUnitViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(BadRequest(WebConstants.EnterValidData));
            }

            try
            {
                string imageName = null;

                if (model.BusinessUnitPicture != null)
                {
                    imageName = optimizer.OptimizeImage(model.BusinessUnitPicture, 400, 800);
                }

                var businessUnit = await this.businessUnitService.CreateBusinnesUnitAsync(model.Name, model.Address, model.PhoneNumber, model.Email, model.Information, model.CategoryId, model.TownId, imageName);

                if (businessUnit.Name == model.Name)
                {
                    return(Ok(string.Format(WebConstants.BusinessUnitCreated, model.Name)));
                }

                return(BadRequest(string.Format(WebConstants.BusinessUnitNotCreated, model.Name)));
            }

            catch (ArgumentException ex)
            {
                return(BadRequest(ex.Message));
            }

            catch (AlreadyExistsException ex)
            {
                return(BadRequest(ex.Message));
            }

            catch (Exception ex)
            {
                log.Error("Unexpected exception occured:", ex);
                return(RedirectToAction("Error", "Home"));
            }
        }
Exemplo n.º 15
0
        private async Task <BusinessUnitViewModel> EditDropdownTowns(BusinessUnitViewModel model)
        {
            var cashedTowns = await CacheTowns();

            List <SelectListItem> selectTowns = new List <SelectListItem>();

            foreach (var category in cashedTowns)
            {
                if (category.Name == model.CategoryName)
                {
                    selectTowns.Add(new SelectListItem(category.Name, category.Id.ToString(), true));
                }
                else
                {
                    selectTowns.Add(new SelectListItem(category.Name, category.Id.ToString()));
                }
            }

            model.Categories = selectTowns;

            return(model);
        }
Exemplo n.º 16
0
        private IEnumerable <CompanyViewModel> GetCompanyViewModels()
        {
            //List<StrategicBusinessUnitViewModel> sbuViewModels = new List<StrategicBusinessUnitViewModel>();

            List <CompanyViewModel> companyViewModels = new List <CompanyViewModel>();

            try
            {
                using (ASJDE context = new ASJDE())
                {
                    IQueryable <Company> companies = (from c in context.Companies select c);

                    foreach (Company company in companies)
                    {
                        CompanyViewModel companyViewModel = new CompanyViewModel();
                        companyViewModel.Name = company.Entity.Name;
                        companyViewModel.StrategicBusinessUnitViews = new List <StrategicBusinessUnitViewModel>();

                        Company co = company;
                        IQueryable <StrategicBusinessUnit> sbus = (from s in context.StrategicBusinessUnits
                                                                   where s.Entity.EntityStatus.ID == 1 &&
                                                                   s.CompanyID == co.ID
                                                                   select s);

                        foreach (var strategicBusinessUnit in sbus)
                        {
                            StrategicBusinessUnitViewModel sbuViewModel = new StrategicBusinessUnitViewModel();
                            sbuViewModel.Name          = strategicBusinessUnit.Entity.Name;
                            sbuViewModel.OBUViewModels = new List <OperationalBusinessUnitViewModel>();

                            StrategicBusinessUnit sbUnit = strategicBusinessUnit;

                            IQueryable <OperationalBusinessUnit> obs = (from o in context.OperationalBusinessUnits
                                                                        where o.Entity.EntityStatus.ID == 1 &&
                                                                        o.StrategicBusinessUnitID == sbUnit.ID
                                                                        select o);

                            foreach (var operationalBusinessUnit in obs)
                            {
                                OperationalBusinessUnitViewModel obuViewModel = new OperationalBusinessUnitViewModel();
                                obuViewModel.Name         = operationalBusinessUnit.Entity.Name;
                                obuViewModel.BUViewModels = new List <BusinessUnitViewModel>();

                                OperationalBusinessUnit   bUnit = operationalBusinessUnit;
                                IQueryable <BusinessUnit> bus   = (from b in context.BusinessUnits
                                                                   where b.Entity.EntityStatus.ID == 1 &&
                                                                   b.OperationalBusinessUnitID == bUnit.ID
                                                                   select b);

                                foreach (var bu in bus)
                                {
                                    BusinessUnitViewModel buViewModel = new BusinessUnitViewModel();
                                    buViewModel.Name             = bu.Entity.Name;
                                    buViewModel.BranchViewModels = new List <BranchViewModel>();

                                    BusinessUnit        bu1     = bu;
                                    IQueryable <Branch> branchs = (from br in context.Branches
                                                                   where br.Entity.EntityStatus.ID == 1 &&
                                                                   br.BusinessUnitID == bu1.ID
                                                                   select br);

                                    foreach (var branch in branchs)
                                    {
                                        BranchViewModel branchViewModel = new BranchViewModel();
                                        branchViewModel.Name            = branch.Entity.Name;
                                        branchViewModel.DepotViewModels = new List <DepotViewModel>();

                                        Branch branch1 = branch;
                                        var    depots  = (from d in context.Depots
                                                          where d.Entity.EntityStatus.ID == 1 &&
                                                          d.BranchID == branch1.ID
                                                          select d);
                                        foreach (var depot in depots)
                                        {
                                            DepotViewModel depotViewModel = new DepotViewModel();
                                            depotViewModel.Name = depot.Entity.Name;

                                            branchViewModel.DepotViewModels.Add(depotViewModel);
                                        }

                                        buViewModel.BranchViewModels.Add(branchViewModel);
                                    }

                                    obuViewModel.BUViewModels.Add(buViewModel);
                                }

                                sbuViewModel.OBUViewModels.Add(obuViewModel);
                            }

                            companyViewModel.StrategicBusinessUnitViews.Add(sbuViewModel);
                        }

                        companyViewModels.Add(companyViewModel);
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
                return(null);
            }
            return(companyViewModels);
        }
Exemplo n.º 17
0
        public CreateProjectPage()
        {
            this.InitializeComponent();
            var cmbtype = new ProjectTypeViewModel();

            cmb_prjtype.ItemsSource = cmbtype.ProjectTypes;

            var cmbbu = new BusinessUnitViewModel();

            cmb_bu.ItemsSource = cmbbu.BusinessUnits;

            var cmbcust = new CustomerViewModel();

            cmb_customer.ItemsSource = cmbcust.Customers;

            if (cmb_status.Items != null)
            {
                cmb_status.Items.Add(new ComboBoxItem()
                {
                    Content = "Estimating", IsSelected = true
                });
                cmb_status.Items.Add(new ComboBoxItem()
                {
                    Content = "In Progress"
                });
                cmb_status.Items.Add(new ComboBoxItem()
                {
                    Content = "Completed"
                });
                cmb_status.Items.Add(new ComboBoxItem()
                {
                    Content = "Halted"
                });
                cmb_status.Items.Add(new ComboBoxItem()
                {
                    Content = "Cancelled"
                });
            }

            if (cmb_usecost.Items != null)
            {
                cmb_usecost.Items.Add(new ComboBoxItem()
                {
                    Content = "Internal", IsSelected = true
                });
                cmb_usecost.Items.Add(new ComboBoxItem()
                {
                    Content = "External"
                });
            }

            if (cmb_useala.Items != null)
            {
                cmb_useala.Items.Add(new ComboBoxItem()
                {
                    Content = "True ", IsSelected = true
                });
                cmb_useala.Items.Add(new ComboBoxItem()
                {
                    Content = "False"
                });
            }


            //dummy data for user

            if (cmb_owner.Items != null)
            {
                cmb_owner.Items.Add(new ComboBoxItem()
                {
                    Content = 637
                });
                cmb_owner.Items.Add(new ComboBoxItem()
                {
                    Content = 617
                });
            }

            this.navigationHelper            = new NavigationHelper(this);
            this.navigationHelper.LoadState += this.NavigationHelper_LoadState;
            this.navigationHelper.SaveState += this.NavigationHelper_SaveState;
        }