public async Task <OperationDataResult <int> > Create([FromBody] DeviceUserModel deviceUserModel)
        {
            if (!ModelState.IsValid)
            {
                return(new OperationDataResult <int>(false,
                                                     _localizationService.GetString("DeviceUserCouldNotBeCreated")));
            }

            return(await _deviceUsersService.Create(deviceUserModel));
        }
        public async Task <OperationResult> Create(DeviceUserModel deviceUserModel)
        {
            var core = await _coreHelper.GetCore();

            var siteName = deviceUserModel.UserFirstName + " " + deviceUserModel.UserLastName;

            await using var db = core.DbContextHelper.GetDbContext();


            try
            {
                var siteDto = await core.SiteCreate(siteName, deviceUserModel.UserFirstName, deviceUserModel.UserLastName,
                                                    null, deviceUserModel.LanguageCode);

                // if (siteDto != null)
                // {
                //     Site site = await db.Sites.SingleAsync(x => x.MicrotingUid == siteDto.SiteId);
                //     site.LanguageId = language.Id;
                //     await site.Update(db);
                // }

                return(siteDto != null
                    ? new OperationResult(true,
                                          _localizationService.GetStringWithFormat("DeviceUserParamCreatedSuccessfully", siteDto.SiteName))
                    : new OperationResult(false, _localizationService.GetString("DeviceUserCouldNotBeCreated")));
            }
            catch (Exception ex)
            {
                try
                {
                    if (ex.InnerException.Message == "The remote server returned an error: (402) Payment Required.")
                    {
                        return(new OperationResult(false, _localizationService.GetString("YouNeedToBuyMoreLicenses")));
                    }
                    else
                    {
                        return(new OperationResult(false, _localizationService.GetString("DeviceUserCouldNotBeCreated")));
                    }
                }
                catch
                {
                    return(new OperationResult(false, _localizationService.GetString("DeviceUserCouldNotBeCreated")));
                }
            }
        }
        public async Task <OperationResult> Update(DeviceUserModel deviceUserModel)
        {
            try
            {
                var core = await _coreHelper.GetCore();

                await using var db = core.DbContextHelper.GetDbContext();
                Language language = db.Languages.Single(x => x.LanguageCode == deviceUserModel.LanguageCode);
                var      siteDto  = await core.SiteRead(deviceUserModel.Id);

                if (siteDto.WorkerUid != null)
                {
                    var workerDto = await core.Advanced_WorkerRead((int)siteDto.WorkerUid);

                    if (workerDto != null)
                    {
                        var fullName  = deviceUserModel.UserFirstName + " " + deviceUserModel.UserLastName;
                        var isUpdated = await core.SiteUpdate(deviceUserModel.Id, fullName, deviceUserModel.UserFirstName,
                                                              deviceUserModel.UserLastName, workerDto.Email, deviceUserModel.LanguageCode);

                        if (isUpdated)
                        {
                            // {
                            //     Site site = await db.Sites.SingleAsync(x => x.MicrotingUid == deviceUserModel.Id);
                            //     site.LanguageId = language.Id;
                            //     await site.Update(db);
                            // }
                            return(isUpdated
                            ? new OperationResult(true, _localizationService.GetString("DeviceUserUpdatedSuccessfully"))
                            : new OperationResult(false,
                                                  _localizationService.GetStringWithFormat("DeviceUserParamCouldNotBeUpdated", deviceUserModel.Id)));
                        }
                    }

                    return(new OperationResult(false, _localizationService.GetString("DeviceUserCouldNotBeObtained")));
                }

                return(new OperationResult(false, _localizationService.GetString("DeviceUserNotFound")));
            }
            catch (Exception)
            {
                return(new OperationResult(false, _localizationService.GetString("DeviceUserCouldNotBeUpdated")));
            }
        }
Exemplo n.º 4
0
        public async Task <OperationDataResult <int> > Create(DeviceUserModel deviceUserModel)
        {
            var core = await _coreHelper.GetCore();

            var siteName = deviceUserModel.UserFirstName + " " + deviceUserModel.UserLastName;

            await using var db = core.DbContextHelper.GetDbContext();


            try
            {
                var siteDto = await core.SiteCreate(siteName, deviceUserModel.UserFirstName, deviceUserModel.UserLastName,
                                                    null, deviceUserModel.LanguageCode);

                var sdkDbContext = core.DbContextHelper.GetDbContext();
                var id           = await sdkDbContext.Sites.Where(x => x.MicrotingUid == siteDto.SiteId).Select(x => x.Id).FirstAsync();


                return(siteDto != null
                    ? new OperationDataResult <int>(true,
                                                    _localizationService.GetStringWithFormat("DeviceUserParamCreatedSuccessfully", siteDto.SiteName), id)
                    : new OperationDataResult <int>(false, _localizationService.GetString("DeviceUserCouldNotBeCreated")));
            }
            catch (Exception ex)
            {
                try
                {
                    if (ex.InnerException.Message == "The remote server returned an error: (402) Payment Required.")
                    {
                        return(new OperationDataResult <int>(false, _localizationService.GetString("YouNeedToBuyMoreLicenses")));
                    }
                    else
                    {
                        return(new OperationDataResult <int>(false, _localizationService.GetString("DeviceUserCouldNotBeCreated")));
                    }
                }
                catch
                {
                    return(new OperationDataResult <int>(false, _localizationService.GetString("DeviceUserCouldNotBeCreated")));
                }
            }
        }
 public async Task <OperationResult> Update([FromBody] DeviceUserModel deviceUserModel)
 {
     return(await _deviceUsersService.Update(deviceUserModel));
 }