示例#1
0
        public async Task <Guid> Create(SheetCreateRequest request)
        {
            var sheet = SheetAggregate.CreateFromRequest(request);

            await _repo.Add(sheet);

            return(sheet.Id);
        }
示例#2
0
 /// <summary>Создание новой карточки учета времени</summary>
 /// <param name="request">Запрос на создание карточки</param>
 /// <returns>Новая карточка учета времени</returns>
 public static SheetAggregate CreateFromRequest(SheetCreateRequest request)
 {
     return(new SheetAggregate()
     {
         Id = Guid.NewGuid(),
         Amount = SpentTime.FromInt(request.Amount),
         ContractId = request.ContractId,
         Date = request.Date,
         EmployeeId = request.EmployeeId,
         ServiceId = request.ServiceId,
         IsDeleted = false,
     });
 }
示例#3
0
        public async Task <IActionResult> Create([FromBody] SheetCreateRequest request)
        {
            var isAllowedToCreate = await _contractManager.CheckContractIsActive(request.ContractId);

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

            var id = await _sheetManager.Create(request);

            return(Ok(id));
        }
示例#4
0
        /// <summary>Запрос на создание случайной карточки учета</summary>
        public static SheetCreateRequest CreateRandomSheetCreateRequest()
        {
            var request = new SheetCreateRequest()
            {
                Amount     = 8,
                ContractId = Guid.NewGuid(),
                Date       = DateTime.Now,
                EmployeeId = Guid.NewGuid(),
                ServiceId  = Guid.NewGuid(),
            };

            return(request);
        }