Пример #1
0
        public async Task <IOperationResult <bool> > Update(PermitCreateOrEditViewModel permitToUpdate)
        {
            try
            {
                IOperationResult <string> validationResult = ValidatePermit(permitToUpdate);

                if (!validationResult.Success)
                {
                    return(OperationResult <bool> .Fail(validationResult.Message));
                }

                Permit permit = await _permitRepositoy.FindAsync(permit => permit.Id == permitToUpdate.Id);

                PermitType permitType = await _permitTypeRepository.FindAsync(permitType => permitType.Id == permitToUpdate.PermitType);

                if (permitType == null)
                {
                    return(OperationResult <bool> .Fail("No se encontro el permiso en la base de datos."));
                }

                permit.EmployeeName     = permitToUpdate.EmployeeName;
                permit.EmployeeLastName = permitToUpdate.EmployeeLastName;
                permit.PermitType       = permitType;
                permit.Date             = permitToUpdate.Date;

                await _permitRepositoy.SaveAsync();

                return(OperationResult <bool> .Ok(true));
            }
            catch
            {
                return(OperationResult <bool> .Fail("Ha ocurrido un error al actualizar el permiso."));
            }
        }
Пример #2
0
        public async Task UpdateWhenPermitIsCorrecThenReturnOperationResultSuccess()
        {
            PermitCreateOrEditViewModel permitCreateViewModel = new PermitCreateOrEditViewModel
            {
                EmployeeName     = "sadsad",
                EmployeeLastName = "sadsad",
                PermitType       = 1,
                Date             = DateTime.Now
            };

            IPermitRepositoy      permitRepository     = Substitute.For <IPermitRepositoy>();
            IPermitTypeRepository permitTypeRepository = Substitute.For <IPermitTypeRepository>();

            permitTypeRepository.FindAsync(Arg.Any <Expression <Func <PermitType, bool> > >()).ReturnsForAnyArgs(new PermitType());
            permitRepository.FindAsync(Arg.Any <Expression <Func <Permit, bool> > >()).ReturnsForAnyArgs(new Permit());

            PermitManager           permitManager   = new PermitManager(permitRepository, permitTypeRepository);
            IOperationResult <bool> operationResult = await permitManager.Update(permitCreateViewModel);

            Assert.IsTrue(operationResult.Success);
        }