Exemple #1
0
 public BaseApiController(
     IManagerStore managerStore,
     ICrudManager <TModel> manager)
     : base(managerStore)
 {
     _manager = manager;
 }
Exemple #2
0
 protected override void beforeEach()
 {
     Given = new TaskViewModel
     {
         Product = "3_Chemicals",
         Task    = ObjectMother.ValidTask("raif"),
     };
     _field      = ObjectMother.ValidField("raif");
     _equipment1 = ObjectMother.ValidEquipment("raif").WithEntityId(6);
     _equipment2 = ObjectMother.ValidEquipment("poop").WithEntityId(7);
     _equipment3 = ObjectMother.ValidEquipment("crap").WithEntityId(8);
     repo        = MockFor <IRepository>();
     repo.Stub(x => x.Find <Field>(1)).Return(_field);
     _validInventoryChemical = ObjectMother.ValidInventoryProductChemical("lsd").WithEntityId(3);
     repo.Stub(x => x.Find <InventoryProduct>(3)).Return(_validInventoryChemical);
     _employee1 = ObjectMother.ValidEmployee("raif");
     _employee2 = ObjectMother.ValidEmployee("Amahl");
     _employee3 = ObjectMother.ValidEmployee("Ramsay");
     repo.Stub(x => x.Find <Employee>(1)).Return(_employee1);
     repo.Stub(x => x.Find <Employee>(2)).Return(_employee2);
     repo.Stub(x => x.Find <Employee>(3)).Return(_employee3);
     repo.Stub(x => x.Find <Equipment>(6)).Return(_equipment1);
     repo.Stub(x => x.Find <Equipment>(7)).Return(_equipment2);
     repo.Stub(x => x.Find <Equipment>(8)).Return(_equipment3);
     _crudManager = MockRepository.GenerateMock <ICrudManager>();
     _crudManager.Expect(x => x.Finish()).Return(new Notification());
     _saveEntityService = MockFor <ISaveEntityService>();
     _sesCatcher        = _saveEntityService.CaptureArgumentsFor(x => x.ProcessSave(new Task(), null), x => x.Return(_crudManager));
 }
        public ICrudManager SaveUploadedFile(string systemFolder, string fileNameNoExtension, ICrudManager crudManager)
        {
            var file = _sessionContext.RetrieveUploadedFile();
            if (file == null || file.ContentLength <= 0 || crudManager.HasFailingReport()) return crudManager;

            var folderPath = _sessionContext.MapPath(systemFolder);
            var extension = file.FileName.Substring(file.FileName.LastIndexOf("."));
            var newName = fileNameNoExtension + extension;
            string filePath = folderPath + "\\" + newName;
            var exists = Directory.Exists(folderPath);
            if (!exists)
            {
                Directory.CreateDirectory(folderPath);
            }
            //TODO insert rules engine here
            var fileExists = File.Exists(filePath);
            CrudReport crudReport= new CrudReport();
            if (fileExists)
            {
                crudReport.AddErrorInfo(new ErrorInfo(null,WebLocalizationKeys.FILE_ALREADY_EXISTS.ToString()));
                crudManager.AddCrudReport(crudReport);
                return crudManager;
            }
            file.SaveAs(filePath);
            crudReport.Success = true;
            crudManager.AddCrudReport(crudReport);
            return crudManager;
        }
Exemple #4
0
 public CrudManager(ICrudManager <Entity> crudManager)
 {
     if (crudManager == null)
     {
         throw new IncompleteException("El gestor de CRUD no fué configurado");
     }
     _crudManager = crudManager;
 }
 public static async Task <ActionResult <IEnumerable <UriAndValue <T> > > > AddNoGet <T, TKey>(
     this Controller controller,
     ICrudManager <T, TKey> manager,
     IEnumerable <T> values,
     Action <T, TKey> setIdFunc)
     where T : class where TKey : IComparable
 {
     return(controller.Ok(await AddNoGetIntern(controller, manager, values, setIdFunc)));
 }
Exemple #6
0
 public AccountManager(UserManager user, TokenManager token, LoginLogsManager logs, RoleManager role, SelectedRoleManager selectedRole)
 {
     _selectedRole = selectedRole;
     _role         = role;
     _logCrud      = logs;
     _token        = token;
     _userCrud     = user;
     _user         = user;
     _tokenCrud    = token;
 }
Exemple #7
0
 protected ModelValidatorBase(ICrudManager <T> manager, ValidationMode mode)
 {
     _mode       = mode;
     _manager    = manager;
     CascadeMode = CascadeMode.StopOnFirstFailure;
     RuleFor(x => x.Id).GreaterThan(0).When(x => HasFlag(ValidationMode.None & ~(ValidationMode.Add | ValidationMode.DataRelevance)))
     .WithMessage("{PropertyName} can't be less or equal 0.");
     RuleFor(x => x.Id).MustAsync(async(id, token) => await ExistsAsync(id, _manager))
     .When(x => HasFlag(ValidationMode.Exist | ValidationMode.Delete | ValidationMode.Update))
     .WithMessage("{PropertyValue}th item isn't exists.");
 }
 public void Setup()
 {
     _continuation = new Continuation {Success = true};
     _validTask = ObjectMother.ValidTask("raif");
     _validTask.QuantityUsed = 5;
     _crudManager = MockRepository.GenerateMock<ICrudManager>();
     _crudManager.Expect(x => x.Finish()).Return(new Notification());
     _saveEntityService = MockRepository.GenerateMock<ISaveEntityService>();
     _sesCatcher = _saveEntityService.CaptureArgumentsFor(x => x.ProcessSave(_validTask.InventoryProduct, _crudManager), x => x.Return(_crudManager));
     _SUT = new InventoryService(null,_saveEntityService);
     _SUT.DecrementTaskProduct(_validTask, _crudManager);
 }
Exemple #9
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (_manager != null)
                {
                    _manager.Dispose();
                    _manager = null;
                }
            }

            base.Dispose(disposing);
        }
Exemple #10
0
 public void Setup()
 {
     _continuation = new Continuation {
         Success = true
     };
     _validTask = ObjectMother.ValidTask("raif");
     _validTask.QuantityUsed = 5;
     _crudManager            = MockRepository.GenerateMock <ICrudManager>();
     _crudManager.Expect(x => x.Finish()).Return(new Notification());
     _saveEntityService = MockRepository.GenerateMock <ISaveEntityService>();
     _sesCatcher        = _saveEntityService.CaptureArgumentsFor(x => x.ProcessSave(_validTask.InventoryProduct, _crudManager), x => x.Return(_crudManager));
     _SUT = new InventoryService(null, _saveEntityService);
     _SUT.DecrementTaskProduct(_validTask, _crudManager);
 }
 public void Setup()
 {
     _poliId = 0;
     _repo = MockRepository.GenerateMock<IRepository>();
     _purchaseOrderLineItem = ObjectMother.ValidPurchaseOrderLineItem("raif");
     _inventoryBaseProducts = new List<InventoryProduct> { ObjectMother.ValidInventoryBaseProduct("raif")}.AsQueryable();
     _purchaseOrderLineItem.TotalReceived = 4;
     _repo.Expect(x => x.Query<InventoryProduct>(null)).IgnoreArguments().Return(_inventoryBaseProducts);
     _saveEntityService = MockRepository.GenerateMock<ISaveEntityService>();
     _crudManager = MockRepository.GenerateMock<ICrudManager>();
     _crudManager.Expect(x => x.Finish()).Return(new Notification());
     _sesCatcher = _saveEntityService.CaptureArgumentsFor(x=>x.ProcessSave(_inventoryBaseProducts.FirstOrDefault(),null),x=>x.Return(_crudManager));
     _SUT = new InventoryService(_repo, _saveEntityService);
      _crudManager = _SUT.ReceivePurchaseOrderLineItem(_purchaseOrderLineItem);
 }
Exemple #12
0
 public void Setup()
 {
     _poliId = 0;
     _repo   = MockRepository.GenerateMock <IRepository>();
     _purchaseOrderLineItem = ObjectMother.ValidPurchaseOrderLineItem("raif");
     _inventoryBaseProducts = new List <InventoryProduct>().AsQueryable();
     _purchaseOrderLineItem.TotalReceived = 4;
     _repo.Expect(x => x.Query <InventoryProduct>(null)).IgnoreArguments().Return(_inventoryBaseProducts);
     _crudManager = MockRepository.GenerateMock <ICrudManager>();
     _crudManager.Expect(x => x.Finish()).Return(new Notification());
     _saveEntityService = MockRepository.GenerateMock <ISaveEntityService>();
     _sesCatcher        = _saveEntityService.CaptureArgumentsFor(x => x.ProcessSave(_inventoryBaseProducts.FirstOrDefault(), null), x => x.Return(_crudManager));
     _SUT         = new InventoryService(_repo, _saveEntityService);
     _crudManager = _SUT.ReceivePurchaseOrderLineItem(_purchaseOrderLineItem);
 }
Exemple #13
0
        public ICrudManager ProcessSave <DOMAINMODEL>(DOMAINMODEL model, ICrudManager crudManager = null)
            where DOMAINMODEL : DomainEntity
        {
            if (crudManager == null)
            {
                crudManager = new CrudManager(_repository);
            }
            var report = _castleValidationRunner.Validate(model);

            if (report.Success)
            {
                _repository.Save(model);
                //report.Target = model;
            }
            crudManager.AddCrudReport(report);
            return(crudManager);
        }
Exemple #14
0
        public ActionResult Save(TaskViewModel input)
        {
            var task = input.Task.EntityId > 0? _repository.Find <Task>(input.Task.EntityId):new Task();

            mapItem(task, input.Task);
            mapChildren(task, input);
            ICrudManager crudManager = null;

            if (task.Complete && !task.InventoryDecremented)
            {
                crudManager = _inventoryService.DecrementTaskProduct(task);
                task.InventoryDecremented = true;
            }
            crudManager = _saveEntityService.ProcessSave(task, crudManager);
            var notification = crudManager.Finish();

            return(Json(notification));
        }
Exemple #15
0
        public ICrudManager DecrementTaskProduct(Task task, ICrudManager crudManager = null)
        {
            if (crudManager == null)
            {
                crudManager = new CrudManager(_repository);
            }
            if (task.InventoryProduct == null)
            {
                return(crudManager);
            }
            if (!task.QuantityUsed.HasValue)
            {
                var crudReport = new CrudReport {
                    Success = false
                };
                crudReport.AddErrorInfo(new ErrorInfo("QuantityUsed", CoreLocalizationKeys.QUANTITY_USED_REQUIRED.ToString()));
                crudManager.AddCrudReport(crudReport);
                return(crudManager);
            }

            task.InventoryProduct.Quantity -= task.QuantityUsed.Value;
            return(_saveEntityService.ProcessSave(task.InventoryProduct, crudManager));
        }
        public static async Task <IEnumerable <UriAndValue <T> > > AddNoGetIntern <T, TKey>(
            this Controller controller,
            ICrudManager <T, TKey> manager,
            IEnumerable <T> values,
            Action <T, TKey> setIdFunc)
            where T : class where TKey : IComparable
        {
            IEnumerable <TKey> newIds = await manager.Add(values);

            Func <T, TKey, T> mySetFunc = (v, k) =>
            {
                setIdFunc(v, k);
                return(v);
            };

            string uri     = controller.GetCurrentUri("/bulk");
            var    newUris = newIds.Select(id => uri + "/" + id);
            var    results = newIds.Select((id, idx) => new UriAndValue <T>()
            {
                Uri = uri + "/" + id, Value = mySetFunc(values.ElementAt(idx), id)
            });

            return(results);
        }
 public static async Task <ActionResult <UrisAndValues <T> > > Add2 <T, TKey>(this Controller controller, ICrudManager <T, TKey> manager, IEnumerable <T> values)
     where T : class where TKey : IComparable
 {
     return(controller.Ok((await AddIntern(controller, manager, values)).ToUrisAndValues()));
 }
 public CrudApiController(IManagerStore managerStore, ICrudManager <TModel> manager)
     : base(managerStore, manager)
 {
 }
Exemple #19
0
        public ICrudManager ReceivePurchaseOrderLineItem(PurchaseOrderLineItem purchaseOrderLineItem, ICrudManager crudManager = null)
        {
            var inventoryProducts = _repository.Query <InventoryProduct>(x => x.Product.EntityId == purchaseOrderLineItem.Product.EntityId && x.UnitType == purchaseOrderLineItem.UnitType);
            var inventoryProduct  = inventoryProducts.FirstOrDefault() ?? new InventoryProduct
            {
                Product    = purchaseOrderLineItem.Product,
                UnitType   = purchaseOrderLineItem.UnitType,
                SizeOfUnit = purchaseOrderLineItem.SizeOfUnit
            };

            inventoryProduct.LastVendor = purchaseOrderLineItem.PurchaseOrder.Vendor;
            inventoryProduct.Quantity  += purchaseOrderLineItem.TotalReceived.Value;

            return(_saveEntityService.ProcessSave(inventoryProduct, crudManager));
        }
Exemple #20
0
 protected Task <bool> ExistsAsync <TModel>(int id, ICrudManager <TModel> manager) where TModel : class, IModel
 {
     return(manager.ExistAsync(id));
 }
Exemple #21
0
 protected GetService(ICrudManager <T, TKey> manager)
 {
     _manager = manager;
 }
        public static async Task <ActionResult> Delete <T, TKey>(this Controller controller, ICrudManager <T, TKey> manager, IEnumerable <TKey> ids) where T : class where TKey : IComparable
        {
            await manager.Delete(ids);

            return(controller.NoContent());
        }
        public static async Task <ActionResult> Update <T, TKey>(this Controller controller, ICrudManager <T, TKey> manager, TKey idFromUri, TKey idFromValue, T value)
            where T : class where TKey : IComparable
        {
            if (idFromUri.CompareTo(idFromValue) != 0)
            {
                return(controller.BadRequest("Mismatch between id and dto.Id"));
            }

            await manager.Update(value);

            return(controller.NoContent());
        }
        public static async Task <IEnumerable <UriAndValue <T> > > AddIntern <T, TKey>(this Controller controller, ICrudManager <T, TKey> manager, IEnumerable <T> values)
            where T : class where TKey : IComparable
        {
            var newIds = await manager.Add(values);

            var newObjects = await manager.Get(newIds);

            string uri     = controller.GetCurrentUri("/bulk");
            var    newUris = newIds.Select(id => uri + "/" + id);
            var    results = newIds.Select((id, idx) => new UriAndValue <T>()
            {
                Uri = uri + "/" + id, Value = newObjects.ElementAt(idx)
            });

            return(results);
        }
Exemple #25
0
 protected CrudService(ICrudManager <T, TKey> manager) : base(manager)
 {
     _manager = manager;
 }
        public static async Task <ActionResult <T> > AddNoGet <T, TKey>(this Controller controller, ICrudManager <T, TKey> manager, T value, Action <T, TKey> setIdFunc)
            where T : class where TKey : IComparable
        {
            TKey newId = await manager.Add(value);

            string newUri = controller.GetCurrentUri() + "/" + newId;

            setIdFunc(value, newId);
            return(controller.Created(newUri, value));
        }
        public ICrudManager SaveUploadedFile(string systemFolder, string fileNameNoExtension, ICrudManager crudManager)
        {
            var file = _sessionContext.RetrieveUploadedFile();

            if (file == null || file.ContentLength <= 0 || crudManager.HasFailingReport())
            {
                return(crudManager);
            }

            var    folderPath = _sessionContext.MapPath(systemFolder);
            var    extension  = file.FileName.Substring(file.FileName.LastIndexOf("."));
            var    newName    = fileNameNoExtension + extension;
            string filePath   = folderPath + "\\" + newName;
            var    exists     = Directory.Exists(folderPath);

            if (!exists)
            {
                Directory.CreateDirectory(folderPath);
            }
            //TODO insert rules engine here
            var        fileExists = File.Exists(filePath);
            CrudReport crudReport = new CrudReport();

            if (fileExists)
            {
                crudReport.AddErrorInfo(new ErrorInfo(null, WebLocalizationKeys.FILE_ALREADY_EXISTS.ToString()));
                crudManager.AddCrudReport(crudReport);
                return(crudManager);
            }
            file.SaveAs(filePath);
            crudReport.Success = true;
            crudManager.AddCrudReport(crudReport);
            return(crudManager);
        }