Пример #1
0
        public long Registration(RegisterModel  register)
        {
            var findedDevice=_context.Devices.FirstOrDefault(x => x.Guid.Equals(register.Guid));
            if (findedDevice == null)
            {
                var platform = _context.Platforms.FirstOrDefault(x => x.PlatformName == register.Platform);
                if (platform == null)
                {
                    throw new Exception("Операционная система, которую ты передал, не существует в базе");
                }

                //Устройство регистрируется впервые
                var newDevice = new Device() {Guid = register.Guid, Name = register.DeviceName, Platform = platform};
                _context.Devices.Add(newDevice);
                findedDevice = newDevice;
            }

                var project = _context.Projects.FirstOrDefault(x => x.Name == register.ProjectName);

                if (project == null)
                {
                    var newProject=new Project() {Name = register.ProjectName};
                    _context.Projects.Add(newProject);
                    project = newProject;
                }
                //Устройство уже было зарегано когда то. Надо добавить новую регистрацию
            var newRegistration = new Registration()
            {
                AssemblyVersion = register.Version,
                Device = findedDevice,
                Project = project,
                RegistrationTime = DateTime.Now
            };
            _context.Registrations.Add(newRegistration);
            _context.SaveChanges();
            return newRegistration.Id;
        }
Пример #2
0
 public async Task<IHttpActionResult> Registration(RegisterModel registration)
 {
    var registraionId= _deviceRepository.Registration(registration);
     return SuccessApiResult(registraionId);
 }