예제 #1
0
        public void Update(AndroidDto androidDto)
        {
            var _originalAndroid = this._auow.Androids.Get(androidDto.Id);

            if (_originalAndroid == null)
            {
                throw new ValidationException("Android is not found", "");
            }
            if (_originalAndroid.JobId != androidDto.JobId && androidDto.Reliability != 0)
            {
                androidDto.Reliability--;
                if (androidDto.Reliability == 0)
                {
                    androidDto.IsOk = false;
                }
            }
            var _android = new Android {
                Id              = androidDto.Id,
                Name            = androidDto.Name,
                Skills          = androidDto.Skills,
                Reliability     = androidDto.Reliability,
                Status          = androidDto.IsOk ? 1 : 0,
                JobId           = androidDto.JobId,
                AvatarImageData = androidDto.AvatarImageData,
                ImageMimeType   = androidDto.ImageMimeType
            };

            this._auow.Androids.Update(_android);
            this._auow.SaveAsync();
        }
예제 #2
0
 public ActionResult Create(AndroidViewModel android, HttpPostedFileBase image = null)
 {
     if (ModelState.IsValid)
     {
         var _androidDto = new AndroidDto {
             Name   = android.Name,
             Skills = android.Skills,
             JobId  = android.JobId
         };
         if (image != null)
         {
             _androidDto.ImageMimeType   = image.ContentType;
             _androidDto.AvatarImageData = new byte[image.ContentLength];
             image.InputStream.Read(_androidDto.AvatarImageData, 0, image.ContentLength);
         }
         try {
             this._androidService.Create(_androidDto);
             return(RedirectToAction("Index", "Android"));
         } catch (ValidationException ex) {
             ModelState.AddModelError(ex.Property, ex.Message);
         }
     }
     else
     {
         var _duplicatedModelState = ModelState.Values.SingleOrDefault(ms => ms.Errors.Count > 1 && ms.Errors[0].ErrorMessage == ms.Errors[1].ErrorMessage);
         if (_duplicatedModelState != null)
         {
             _duplicatedModelState.Errors.Remove(_duplicatedModelState.Errors[1]);
         }
         android.JobsList = new SelectList(this._jobService.GetAll(), "Id", "Name");
     }
     return(View(android));
 }
예제 #3
0
        public void Create(AndroidDto androidDto)
        {
            var _job     = this._auow.Jobs.Get(androidDto.JobId);
            var _android = new Android {
                Name            = androidDto.Name,
                Skills          = androidDto.Skills,
                JobId           = androidDto.JobId,
                AvatarImageData = androidDto.AvatarImageData,
                ImageMimeType   = androidDto.ImageMimeType
            };

            this._auow.Androids.Create(_android);
            this._auow.SaveAsync();
        }
예제 #4
0
 public ActionResult Edit(AndroidViewModel android, HttpPostedFileBase image = null)
 {
     if (ModelState.IsValid)
     {
         var _androidDto = new AndroidDto {
             Id          = android.Id,
             Name        = android.Name,
             Skills      = android.Skills,
             JobId       = android.JobId,
             IsOk        = android.IsOk,
             Reliability = android.Reliability,
         };
         if (image != null)
         {
             _androidDto.ImageMimeType   = image.ContentType;
             _androidDto.AvatarImageData = new byte[image.ContentLength];
             image.InputStream.Read(_androidDto.AvatarImageData, 0, image.ContentLength);
         }
         else if (!android.ImageDisabled)
         {
             var _image = this.GetImage(android.Id);
             _androidDto.ImageMimeType   = _image?.ContentType;
             _androidDto.AvatarImageData = _image?.FileContents;
         }
         if (!_androidDto.IsOk)
         {
             _androidDto.JobId = this._androidService.Get(_androidDto.Id).JobId;
         }
         try {
             this._androidService.Update(_androidDto);
             return(RedirectToAction("Index", "Android"));
         } catch (ValidationException ex) {
             ModelState.AddModelError(ex.Property, ex.Message);
         }
     }
     else
     {
         var _duplicatedModelState = ModelState.Values.SingleOrDefault(ms => ms.Errors.Count > 1 && ms.Errors[0].ErrorMessage == ms.Errors[1].ErrorMessage);
         if (_duplicatedModelState != null)
         {
             _duplicatedModelState.Errors.Remove(_duplicatedModelState.Errors[1]);
         }
     }
     return(View(android));
 }
예제 #5
0
        public AndroidDto Get(int id)
        {
            var _android = this._auow.Androids.Get(id);

            if (_android == null)
            {
                throw new ValidationException("Android is not found", "");
            }
            var _androidDto = new AndroidDto {
                Id              = _android.Id,
                Name            = _android.Name,
                IsOk            = _android.Status != 0 ? true : false,
                JobId           = _android.JobId,
                Skills          = _android.Skills,
                Reliability     = _android.Reliability,
                AvatarImageData = _android.AvatarImageData,
                ImageMimeType   = _android.ImageMimeType
            };

            return(_androidDto);
        }
예제 #6
0
 public Android Map(AndroidDto team)
 {
     return(_mapper.Map <Android>(team));
 }
예제 #7
0
        public async Task <IActionResult> SendRequest(Guid teamId, Guid androidId, [FromBody] AndroidRequestDto request)
        {
            AndroidDto android = await _androidLogic.SendRequest(teamId, androidId, request);

            return(Ok(android));
        }
예제 #8
0
        public async Task <IActionResult> DeployAndroid(Guid teamId, [FromBody] DeployAndroidDto android)
        {
            AndroidDto deployedAndroid = await _androidLogic.DeployAndroid(teamId, android);

            return(Ok(deployedAndroid));
        }