예제 #1
0
        public IHttpActionResult DeleteSheet(int sheetId)
        {
            SheetRequest request = new SheetRequest
            {
                SheetDto = new SheetDto {
                    SheetId = sheetId
                },
                FindSheetDto = FindSheetDto.SheetId
            };

            SheetMessage  message = new SheetMessage();
            List <string> errors  = ValidateDeleteSheet(request);

            if (errors != null && errors.Any())
            {
                message.ErrorMessage     = CountryMessageResource.ValidationErrors;
                message.ErrorType        = ErrorType.ValidationError;
                message.Errors           = new List <string>();
                message.OperationSuccess = false;
                message.Errors.AddRange(errors);
            }
            else
            {
                message = _serviceSheetClient.DeleteSheet(request);
            }
            return(Json(message));
        }
예제 #2
0
 /// <summary>
 ///    From Sheet Request to Sheet Request pivot.
 /// </summary>
 /// <param name="sheetRequest"></param>
 /// <returns>Sheet Request pivot result.</returns>
 public static SheetRequestPivot ToPivot(this SheetRequest sheetRequest)
 {
     return(new SheetRequestPivot
     {
         SheetPivot = sheetRequest.SheetDto?.ToPivot(),
         FindSheetPivot = Utility.EnumToEnum <FindSheetDto, FindSheetPivot>(sheetRequest.FindSheetDto)
     });
 }
예제 #3
0
        public async Task <Guid> Create(SheetRequest sheetRequest)
        {
            var sheet = SheetAggregate.CreateFromSheetRequest(sheetRequest);

            await _sheetRepo.Add(sheet);

            return(sheet.Id);
        }
예제 #4
0
 public static SheetAggregate CreateFromSheetRequest(SheetRequest sheetRequest)
 {
     return(new SheetAggregate()
     {
         Id = Guid.NewGuid(),
         Amount = sheetRequest.Amount,
         ContractId = sheetRequest.ContractId,
         Date = sheetRequest.Date,
         EmployeeId = sheetRequest.EmployeeId,
         ServiceId = sheetRequest.ServiceId
     });
 }
예제 #5
0
        public async Task <IActionResult> Update([FromRoute] Guid id, [FromBody] SheetRequest sheet)
        {
            var isAllowedToCreate = await _contractManager.CheckContractIsActive(sheet.ContractId);

            if (isAllowedToCreate != null && !(bool)isAllowedToCreate)
            {
                return(BadRequest($"Contract {sheet.ContractId} is not active or not found."));
            }

            await _sheetManager.Update(id, sheet);

            return(Ok());
        }
예제 #6
0
        /// <summary>
        /// Validate delete country translation.
        /// </summary>
        /// <param name="request">the request to validate.</param>
        /// <returns>errors validation</returns>
        private List <string> ValidateDeleteSheet(SheetRequest request)
        {
            List <string> errors = new List <string>();

            if (request?.SheetDto == null)
            {
                errors.Add(CountryMessageResource.NullRequest);
            }
            else
            {
                errors.AddRange(GenericValidationAttribute <SheetDto> .ValidateAttributes("SheetId", request.SheetDto.SheetId.ToString()));
            }
            return(errors);
        }
예제 #7
0
        public async Task Update(Guid id, SheetRequest sheetRequest)
        {
            var sheet = new Sheet
            {
                Id         = id,
                Amount     = sheetRequest.Amount,
                ContractId = sheetRequest.ContractId,
                Date       = sheetRequest.Date,
                EmployeeId = sheetRequest.EmployeeId,
                ServiceId  = sheetRequest.ServiceId
            };

            await _sheetRepo.Update(sheet);
        }
예제 #8
0
        /// <summary>
        /// Delete Sheet
        /// </summary>
        /// <param name="request">sheet request.</param>
        /// <returns>Sheet message.</returns>
        public SheetMessage DeleteSheet(SheetRequest request)
        {
            SheetMessage message = new SheetMessage();

            try
            {
                _serviceSheet.DeleteSheet(request.ToPivot());
                message.OperationSuccess = true;
            }
            catch (Exception e)
            {
                message.ErrorType    = ErrorType.TechnicalError;
                message.ErrorMessage = e.Message;
            }
            return(message);
        }
예제 #9
0
        public async Task <Guid> Create(SheetRequest sheetRequest)
        {
            var sheet = new Sheet
            {
                Id         = Guid.NewGuid(),
                Amount     = sheetRequest.Amount,
                ContractId = sheetRequest.ContractId,
                Date       = sheetRequest.Date,
                EmployeeId = sheetRequest.EmployeeId,
                ServiceId  = sheetRequest.ServiceId
            };

            await _sheetRepo.Add(sheet);

            return(sheet.Id);
        }
예제 #10
0
        public IHttpActionResult FindSheets(SheetRequest request)
        {
            SheetMessage  message = new SheetMessage();
            List <string> errors  = ValidateFindSheet(request);

            if (errors != null && errors.Any())
            {
                message.ErrorMessage     = CountryMessageResource.ValidationErrors;
                message.ErrorType        = ErrorType.ValidationError;
                message.Errors           = new List <string>();
                message.OperationSuccess = false;
                message.Errors.AddRange(errors);
            }
            else
            {
                message = _serviceSheetClient.FindSheets(request);
            }
            return(Json(message));
        }
예제 #11
0
        /// <summary>
        /// Validate find country translation.
        /// </summary>
        /// <param name="request">the request to validate.</param>
        /// <returns>errors validation</returns>
        private List <string> ValidateFindSheet(SheetRequest request)
        {
            List <string> errors = new List <string>();

            if (request?.SheetDto == null)
            {
                errors.Add(CountryMessageResource.NullRequest);
            }
            else
            {
                switch (request.FindSheetDto)
                {
                case FindSheetDto.CountryId:
                    errors.AddRange(GenericValidationAttribute <CountryTranslationDto> .ValidateAttributes("CountryId", request.SheetDto.CountryId.ToString()));
                    break;

                case FindSheetDto.SheetId:
                    errors.AddRange(GenericValidationAttribute <SheetDto> .ValidateAttributes("SheetId", request.SheetDto.SheetId.ToString()));
                    break;
                }
            }
            return(errors);
        }
예제 #12
0
 public async Task Update(Guid id, SheetRequest sheetRequest)
 {
     var sheet = SheetAggregate.CreateFromSheetRequest(sheetRequest);
     await _sheetRepo.Update(sheet);
 }