Ejemplo n.º 1
0
        public async Task <IActionResult> Create([FromBody] WorkLocationSaveDto resourceSave)
        {
            _auditTrailRepo.User = User;
            var activity  = Validator.GenerateActivity(resourceSave, TransactionType.ADD);
            var validator = await _validator.Validate(resourceSave);

            if (validator.HasError)
            {
                await _auditTrailRepo.SaveFailedTrail(new AuditTrailFailedSaveDto()
                {
                    Action       = TransactionType.ADD,
                    Activity     = activity,
                    ErrorMessage = validator.Message
                });

                return(BadRequest(validator.Message));
            }
            var workLocation = _mapper.Map <WorkLocation>(resourceSave);

            _crudPattern.Create(workLocation);

            if (!await _crudPattern.SaveChanges())
            {
                return(BadRequest("Nothing has been Saved!"));
            }


            await _auditTrailRepo.SaveSuccessTrail(new AuditTrailSuccessSaveDto()
            {
                Action   = TransactionType.ADD,
                Activity = activity
            });

            return(StatusCode(201));
        }
Ejemplo n.º 2
0
 public async Task <ErrorValidator> Validate(WorkLocation entity, WorkLocationSaveDto resourceSave)
 {
     if (entity.Name != resourceSave.Name)
     {
         if (await isWorkLocationAlreadyExist(resourceSave.Name))
         {
             return(new ErrorValidator("Work Location Name Already Existed"));
         }
     }
     if (entity.Name != resourceSave.Name && entity.CityId != resourceSave.CityId)
     {
         if (await isWorkLocationAndCityAlreadyExist(resourceSave.Name, resourceSave.CityId))
         {
             return(new ErrorValidator("Work Location Name and City Already Existed"));
         }
     }
     if (entity.Barangay != resourceSave.Barangay)
     {
         if (await isBarangayAlreadyExist(resourceSave.Barangay))
         {
             return(new ErrorValidator("Work Location Barangay Already Existed"));
         }
     }
     return(new ErrorValidator());
 }
Ejemplo n.º 3
0
        public async Task <IActionResult> Update([FromRoute] int id, [FromBody] WorkLocationSaveDto resourceSave)
        {
            _auditTrailRepo.User = User;
            var workLocation = await _crudPattern.Get(id);

            if (workLocation == null)
            {
                return(NotFound());
            }
            var activity  = Validator.GetDifferences(workLocation, _mapper.Map <WorkLocation>(resourceSave));
            var validator = await _validator.Validate(workLocation, resourceSave);

            if (validator.HasError)
            {
                await _auditTrailRepo.SaveFailedTrail(new AuditTrailFailedSaveDto()
                {
                    Action       = TransactionType.EDIT,
                    Activity     = activity,
                    ErrorMessage = validator.Message,
                });

                return(BadRequest(validator.Message));
            }

            _crudPattern.Update(resourceSave, workLocation);

            if (!await _crudPattern.SaveChanges())
            {
                return(BadRequest("Nothing has been Saved!"));
            }


            await _auditTrailRepo.SaveSuccessTrail(new AuditTrailSuccessSaveDto()
            {
                Action   = TransactionType.EDIT,
                Activity = activity
            });

            return(Ok(workLocation));
        }