public UserController(
     RoleManager roleManager,
     UserManager userManager,
     SpecialityManager specialityManager
     )
 {
     _roleManager       = roleManager;
     _userManager       = userManager;
     _specialityManager = specialityManager;
 }
        public void GetByIdSpeciality()
        {
            // Arrange
            var config = new MapperConfiguration(cfg => cfg.CreateMap <Speciality, SpecialityDTO>());
            var mock   = new Mock <IUnitOfWork>();

            mock.Setup(unitOfWork => unitOfWork.Specialities.Get(1)).Returns(GetByIdTestSpecialityDTO());
            var manager = new SpecialityManager(mock.Object, new AttributeValidator(), new Mapper(config));

            // Act
            var result = manager.GetById(1);

            // Arrange
            var viewResult = Assert.IsType <SpecialityDTO>(result);
            var model      = Assert.IsAssignableFrom <SpecialityDTO>(viewResult);

            Assert.Equal(GetByIdTestSpecialityDTO().Id, model.Id);
        }
        public void GetAllReturnsAViewResultWithAListOfSpecialities()
        {
            // Arrange
            var config = new MapperConfiguration(cfg => cfg.CreateMap <Speciality, SpecialityDTO>());
            var mock   = new Mock <IUnitOfWork>();

            mock.Setup(unitOfWork => unitOfWork.Specialities.GetAll()).Returns(GetAllTestSpecialityDTO());
            var manager = new SpecialityManager(mock.Object, new AttributeValidator(), new Mapper(config));

            // Act
            var result = manager.GetAll();

            // Assert
            var viewResult = Assert.IsType <List <SpecialityDTO> >(result);
            var model      = Assert.IsAssignableFrom <IEnumerable <SpecialityDTO> >(viewResult);

            Assert.Equal(GetAllTestSpecialityDTO().Count, model.Count());
        }
示例#4
0
    public static object GetImageById(string id)
    {
        var files           = new List <FileInfoModel>();
        var specialityImage = new SpecialityManager().GetSpecialityImageById(id);

        var response = new JsonResponse()
        {
            IsSuccess = true, Message = "Files found successfully.", Data = files
        };

        if (!string.IsNullOrEmpty(specialityImage))
        {
            var images = specialityImage.Split(' ');
            try
            {
                foreach (var item in images)
                {
                    if (!string.IsNullOrEmpty(item))
                    {
                        string absFile = HttpContext.Current.Server.MapPath("/photo/" + item);
                        var    fs      = new FileStream(absFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                        using (var sr = new StreamReader(fs))
                        {
                            var size = fs.Length;
                            files.Add(new FileInfoModel()
                            {
                                Name = item,
                                Size = size.ToString(),
                                Type = "image"
                            });
                        }
                    }
                }
                response.Data = files;
            }
            catch (Exception e)
            {
                response.IsSuccess = false;
                response.Message   = e.Message;
            }
        }
        return(response);
    }
示例#5
0
    public static object DeleteSpecialityById(string id)
    {
        var resp = new JsonResponse()
        {
            IsSuccess = true, Message = "Speciality Deleted Successfully."
        };
        var canDelete = new SpecialityManager().CanDelete(id);

        if (!canDelete)
        {
            resp.IsSuccess = false;
            resp.Message   = "There are some records linked to this speciality, so you cannot delete this speciality without deleting them.";
        }
        else
        {
            resp.IsSuccess = new SpecialityManager().DeleteSpeciality(id);
        }

        return(resp);
    }
        /// <summary>
        /// 评选活动选入专家
        /// </summary>
        /// <param name="reviewId"></param>
        /// <returns></returns>
        public async Task <IActionResult> SelExpert(int reviewId)
        {
            var review = await ReviewRepository.GetAllIncluding(o => o.Major).Where(o => o.Id == reviewId).SingleAsync();

            //List<Major> subMajors=new List<Major>();
            //if (review.SubMajorId == null)
            //{
            //    //如果未指定专业小类,需要列出所有专业小类供查询
            //    subMajors = await MajorManager.FindChildrenAsync(null, review.MatchInstanceId, review.MajorId);
            //}
            //else
            //{
            //    ViewBag.SubMajor = await MajorManager.GetByIdAsync(review.SubMajorId.Value);
            //}
            //ViewBag.SubMajors = subMajors;
            var specialities = await SpecialityManager.GetAll().OrderBy(o => o.Name).ToListAsync();

            ViewBag.Specialities = specialities;
            ViewBag.Exclude      = Request.Cookies["excludeExperts"];
            return(View(review));
        }
示例#7
0
    public static object GetSpecialities(DataTableAjaxPostModel model)
    {
        var cols = new List <string>()
        {
            "LOWER(TRIM(speciality_name))", "LOWER(TRIM(is_rare))"
        };
        // Initialization.
        DataTableData <SpecialityModel> result = new DataTableData <SpecialityModel>();

        try
        {
            // Initialization.
            string draw     = model.draw.ToString();
            int    startRec = model.start;
            int    pageSize = model.length;

            var c_order = "";
            foreach (var o in model.order)
            {
                var columnName = cols[o.column];
                c_order += string.IsNullOrWhiteSpace(c_order) ? columnName + " " + o.dir : ", " + columnName + " " + o.dir;
            }
            if (!string.IsNullOrWhiteSpace(c_order))
            {
                c_order = " order by " + c_order;
            }

            var c_search = "";
            foreach (var s in model.columns)
            {
                if (!string.IsNullOrWhiteSpace(s.search.value) && s.searchable)
                {
                    var i          = model.columns.IndexOf(s);
                    var columnName = cols[i];
                    c_search += i == 1 ? " and " + columnName + " like '%" + s.search.value.Trim().ToLower() + "%'" : " and " + columnName + " like '%" + s.search.value + "%'";
                }
            }

            var specialities = new SpecialityManager().GetAllSpecialitiesPaginated(startRec, pageSize, c_order, c_search);

            var specialityList = specialities.Data;
            foreach (var speciality in specialityList)
            {
                speciality.Link = "<a href='javascript:void(0);' style='margin-right:10px' class='edit-spl' data-id='" + speciality.Id + "'>Edit</a><a href='javascript:void(0);' class='add-spl-images' data-id='" + speciality.Id + "'>Add Images</a><a href='javascript:void(0);' style='margin-left:10px' class='delete-spl' data-id='" + speciality.Id + "'>Delete</a>";
            }

            int recFilter = specialities.Data.Count;

            result.draw            = Convert.ToInt32(draw);
            result.recordsTotal    = specialities.TotalCount;
            result.recordsFiltered = specialities.TotalCount;
            result.data            = specialityList;
        }
        catch (Exception ex)
        {
            // Info
            Console.Write(ex);
        }
        // Return info.
        return(result);
    }
示例#8
0
    public static object GetSpecialityById(string id)
    {
        var speciality = new SpecialityManager().GetSpecialityById(id);

        return(speciality);
    }