Esempio n. 1
0
        public async Task <IActionResult> UpsertEquipment([FromBody] UpsertEquipmentCmd request)
        {
            try
            {
                var result = await _service.UpsertEquipment(request);

                return(Ok(result));
            }
            catch (BusinessLogicException ex)
            {
                return(BadRequest(new Response
                {
                    Status = false,
                    Message = ex.Message
                }));
            }
            catch (Exception e)
            {
                return(BadRequest(new Response
                {
                    Status = false,
                    Message = e.StackTrace
                }));
            }
        }
Esempio n. 2
0
        public async Task <Response> UpsertEquipment(UpsertEquipmentCmd request)
        {
            ///////////////////////////////////////
            //var technicalCode = await _context.Equipment.AnyAsync(x => x.TechnicalCode == request.TechnicalCode);
            //if (technicalCode)
            //{
            //    throw new BusinessLogicException("کد فنی قبلا استفاده شده است ");
            //}

            //var amval = await _context.Equipment.AnyAsync(x => x.Amval == request.Amval);
            //if (amval)
            //{
            //    throw new BusinessLogicException("کداموال قبلا استفاده شده است ");
            //}
            //////////////////////////////////////////

            var brand = await _context.EquipmentBrands.SingleOrDefaultAsync(x => x.Id == request.BrandId);

            var type = await _context.EquipmentTypes.SingleOrDefaultAsync(x => x.Id == request.TypeId);

            var place = await _context.EquipmentPlaces.SingleOrDefaultAsync(x => x.Id == request.PlaceId);

            ///updat insert

            if (!string.IsNullOrEmpty(request.Id))
            {
                var item = await _context.Equipment.SingleOrDefaultAsync(x => x.Id == request.Id);

                if (item == null)
                {
                    throw new BusinessLogicException("رکوردی یافت نشد");
                }

                item = _mapper.Map <Equipment>(request);

                if (brand != null)
                {
                    item.Brand = brand;
                }
                if (type != null)
                {
                    item.Type = type;
                }
                if (place != null)
                {
                    item.Place = place;
                }

                item.IsActive = true;
                _context.Equipment.Update(item);
            }
            else
            {
                var item = new Equipment();
                item = _mapper.Map <Equipment>(request);

                if (brand != null)
                {
                    item.Brand = brand;
                }
                if (type != null)
                {
                    item.Type = type;
                }
                if (place != null)
                {
                    item.Place = place;
                }

                item.IsActive  = true;
                item.Id        = Guid.NewGuid().ToString();
                item.CreatedAt = DateTime.Now;
                await _context.Equipment.AddAsync(item);
            }

            await _context.SaveChangesAsync();

            return(new Response
            {
                Status = true,
                Message = "success"
            });
        }