Exemple #1
0
        public static IApoDivisionService GetApoDivisionService()
        {
            var apoDivisions = DataInitializer.GetApoDivisions();

            var repository = new Mock <IApoDivisionService>();

            repository.Setup(x => x.GetAll())
            .Returns(new Func <IEnumerable <IApoDivisionDataTranferObject> >(() =>
            {
                return(Mapper.Map <IEnumerable <IApoDivisionDataTranferObject> >(apoDivisions.ToList()));
            }));

            return(repository.Object);
        }
Exemple #2
0
        public static IApoDivisionRepository GetApoDivisionRepository()
        {
            var apoDivision = DataInitializer.GetApoDivisions();
            var repository  = new Mock <IApoDivisionRepository>();

            repository.Setup(x => x.All(It.IsAny <IBaseResourceParameter>()))
            .Returns(new Func <IBaseResourceParameter, IQueryable <ApoDivisionDomain> >(
                         resourceParameter =>
            {
                return(apoDivision.Where(x => string.IsNullOrWhiteSpace(resourceParameter.SearchText) ||
                                         x.Name.ToLowerInvariant()
                                         .ToLowerInvariant()
                                         .Contains(resourceParameter.SearchText.ToLowerInvariant())
                                         ||
                                         x.Code.ToLowerInvariant()
                                         .Contains(resourceParameter.SearchText.ToLowerInvariant()))
                       .Where(x => x.IsActive == 1)
                       .AsQueryable());
            }));

            repository.Setup(x => x.FindByKey(It.IsAny <int>()))
            .Returns(new Func <int, IApoDivisionDomain>(id =>
            {
                return(apoDivision.SingleOrDefault(x => x.Id == id && x.IsActive == 1));
            }));


            repository.Setup(x => x.Insert(It.IsAny <IApoDivisionDomain>()))
            .Returns(new Func <IApoDivisionDomain, IApoDivisionDomain>(apoAddOrEdit =>
            {
                dynamic maxId     = apoDivision.Last().Id;
                var nextId        = Convert.ToInt32(maxId) + 1;
                var nextCode      = (Convert.ToInt32(apoDivision.Last().Code) + 1).ToString("D2");
                apoAddOrEdit.Id   = (int)nextId;
                apoAddOrEdit.Code = nextCode;
                apoDivision.Add(apoAddOrEdit as ApoDivisionDomain);

                return(apoAddOrEdit);
            }));

            repository.Setup(x => x.GetByName(It.IsAny <IApoDivisionForCreateOrEdit>()))
            .Returns(new Func <IApoDivisionForCreateOrEdit, IApoDivisionDomain>(apoAddOrEdit =>
            {
                return(apoDivision.FirstOrDefault(x => x.Name.ToLowerInvariant()
                                                  .Equals(apoAddOrEdit.Name.Trim().ToLowerInvariant())));
            }));

            repository.Setup(x => x.Update(It.IsAny <int>(), It.IsAny <IApoDivisionDomain>()))
            .Returns(new Func <int, IApoDivisionDomain, IApoDivisionDomain>((id, apoDivisionDomain) =>
            {
                var apoDiv = apoDivision.SingleOrDefault(x => x.Id == id);

                if (apoDiv != null)
                {
                    apoDiv.Name = apoDivisionDomain.Name;

                    return(apoDiv);
                }

                return(null);
            }));

            repository.Setup(x => x.Delete(It.IsAny <int>()))
            .Returns(new Func <int, bool>(id =>
            {
                try
                {
                    return(apoDivision.Single(x => x.Id == id) != null);
                }
                catch (Exception e)
                {
                    return(false);
                }
            }));

            repository.Setup(x => x.All())
            .Returns(() => apoDivision.ToList());
            return(repository.Object);
        }