Example #1
0
        public async Task <IActionResult> PutArea([FromRoute] int id, [FromBody] VmArea vmArea, CancellationToken cancellationToken)
        {
            if (id != vmArea.Id)
            {
                return(BadRequest());
            }

            var areaView = _mapper.Map <AreaView>(vmArea);

            areaView.UpdatedById = 1;             // Hardcode Admin
            await _areaService.UpdateAreaAsync(areaView, cancellationToken);

            try
            {
                await _areaService.CommitAsync(cancellationToken);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!await AreaExists(id, cancellationToken))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Example #2
0
        public async Task <IActionResult> PutArea([FromRoute] Guid id, [FromBody] VmArea vmArea, CancellationToken cancellationToken)
        {
            if (id != vmArea.Id)
            {
                return(BadRequest());
            }

            var areaView = _mapper.Map <AreaView>(vmArea);
            var area     = await _areaService.UpdateAreaAsync(areaView, cancellationToken);

            // Загрузка изображения
            var vmImage   = vmArea.Image;
            var imageHash = areaView.ImageHash;

            await UploadImage(area, vmImage, imageHash, cancellationToken);

            try
            {
                await _areaService.CommitAsync(cancellationToken);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!await AreaExists(id, cancellationToken))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Example #3
0
        public async Task <ActionResult <VmProductArea> > PostProduct([FromBody] VmProductArea vmProduct, CancellationToken cancellationToken)
        {
            var productView = _mapper.Map <ProductAreaView>(vmProduct);
            var dbProduct   = await _areaService.AddProductAreaAsync(productView, cancellationToken);

            await _areaService.CommitAsync(cancellationToken);

            return(CreatedAtAction("GetProducts",
                                   new { areaId = dbProduct.AreaId, equipmentId = dbProduct.ProductId }, vmProduct));
        }
Example #4
0
        public async Task <ActionResult <VmEquipmentArea> > PostEquipment([FromBody] VmEquipmentArea vmEquipment, CancellationToken cancellationToken)
        {
            var equipmentView = _mapper.Map <EquipmentAreaView>(vmEquipment);
            var dbEquipment   = await _areaService.AddEquipmentAreaAsync(equipmentView, cancellationToken);

            await _areaService.CommitAsync(cancellationToken);

            return(CreatedAtAction("GetEquipments",
                                   new { areaId = dbEquipment.AreaId, equipmentId = dbEquipment.EquipmentId, }, vmEquipment));
        }