Ejemplo n.º 1
0
        public ActionResult NewAndroid()
        {
            var android = new EditAndroidViewModel();
            var jobList = new SelectList(_jobManager.GetList(), "Id", "Name", android.JobId);

            ViewBag.JobList = jobList;
            return(View(android));
        }
Ejemplo n.º 2
0
        public ActionResult CreateAndroid(EditAndroidViewModel model)
        {
            var jobList = new SelectList(_jobManager.GetList(), "Id", "Name", model.JobId);

            ViewBag.JobList = jobList;

            if (!ModelState.IsValid)
            {
                return(View("NewAndroid", model));
            }

            // Avatar
            Image  image;
            Stream imageStream = new MemoryStream();

            Resources.DefaultImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);
            if (model.Avatar != null)
            {
                image       = new Image();
                imageStream = model.Avatar.InputStream;

                using (Stream inputStream = imageStream)
                {
                    MemoryStream memoryStream = inputStream as MemoryStream;
                    if (memoryStream == null)
                    {
                        memoryStream = new MemoryStream();
                        inputStream.CopyTo(memoryStream);
                    }
                    image.ImageData = memoryStream.ToArray();
                }
                _imageManager.Add(image);
            }
            else
            {
                image = _imageManager.GetDefaultImage();
            }

            // Skills
            var skillNames = model.Skills.Split(',');
            var skillList  = skillNames.Select(s => _skillManager.GetOrCreateSkillByName(s)).ToList();

            var android = new Android()
            {
                Name        = model.Name,
                Avatar      = image,
                Skills      = skillList,
                Reliability = model.Reliability
            };

            _androidManager.Add(android);

            // Job
            if (model.JobId != null)
            {
                var job = _jobManager.GetById((int)model.JobId);
                _jobManager.AssignAndroidToJob(job, android);
            }

            return(RedirectToAction("AndroidList", "Android"));
        }