示例#1
0
        public async Task <OperationResult> CreateSystem(SystemCreateOrUpdateDto system)
        {
            var systemModel = mapper.Map <SystemCreateOrUpdateDto, Models.System>(system);
            var doesExists  = await repository.GetSameSystem(systemModel);

            if (doesExists != null)
            {
                return(new OperationResult()
                {
                    IsSuccessful = false,
                    IsClientError = true,
                    Payload = doesExists
                });
            }

            await repository.AddAsync(systemModel);

            var repoResult = await repository.SaveChangesAsync();

            if (repoResult > 0)
            {
                return(new OperationResult()
                {
                    IsSuccessful = true,
                    Payload = mapper.Map <Models.System, SystemDto>(systemModel)
                });
            }
            else
            {
                return(OtherServices.GetIncorrectDatabaseConnectionResult());
            }
        }
示例#2
0
        public async Task <IActionResult> Post([FromBody] SystemCreateOrUpdateDto system)
        {
            var result = await _systemService.CreateSystem(system);

            if (result.IsSuccessful)
            {
                return(Ok(result.Payload));
            }

            if (result.Payload != null)
            {
                return(Conflict("Object already exists!"));
            }

            return(StatusCode(500, result.Message));
        }
示例#3
0
        public async Task <OperationResult> EditSystem(int id, SystemCreateOrUpdateDto system)
        {
            var systemModel = mapper.Map <SystemCreateOrUpdateDto, Models.System>(system);
            var doesExists  = await repository.GetSameSystem(systemModel);

            if (doesExists != null && doesExists.Id == id)
            {
                return(new OperationResult()
                {
                    IsSuccessful = false,
                    IsClientError = true,
                    Payload = doesExists
                });
            }

            var systemInDb = await repository.GetAsync(id);

            if (systemInDb != null)
            {
                systemInDb.Model        = system.Model;
                systemInDb.Manufacturer = system.Manufacturer;
                var repoResult = await repository.SaveChangesAsync();

                if (repoResult > 0)
                {
                    return(new OperationResult()
                    {
                        IsSuccessful = true,
                        Payload = systemInDb
                    });
                }
                else
                {
                    return(OtherServices.GetIncorrectDatabaseConnectionResult());
                }
            }
            else
            {
                return(new OperationResult()
                {
                    IsSuccessful = false,
                    IsClientError = true,
                    Message = "Obiekt nie istnieje"
                });
            }
        }
示例#4
0
        public async Task <IActionResult> Put(int id, [FromBody] SystemCreateOrUpdateDto system)
        {
            var result = await _systemService.EditSystem(id, system);

            if (result.IsSuccessful)
            {
                return(Ok(result.Payload));
            }

            if (result.Payload == null)
            {
                return(NotFound());
            }
            else
            {
                return(Conflict());
            }
        }