public void AddClaimAllowedGroup()
        {
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.IsAvailable.ShouldBeTrue();
            vm.CanSendClaim.ShouldBeTrue();
        }
Esempio n. 2
0
        public IActionResult AddClaim(AddClaimViewModel createDTO)
        {
            List <IFormFile> uploadedFiles = createDTO.FilesUploaded;

            if (!ModelState.IsValid)
            {
                ViewBag.lang            = langcode;
                createDTO._claimstypes  = GetClaimTypesViewModel();
                createDTO._bankNames    = GetBankViewModel();
                createDTO.FilesUploaded = uploadedFiles;
                return(View(createDTO));
            }
            else
            {
                ViewBag.lang         = langcode;
                createDTO.NationalId = TempData["NationalId"].ToString();
                TempData.Keep("NationalId");
                var res = AddClaimRequest(createDTO);

                if (res == "true")
                {
                    HttpContext.Session.SetString(SessionShowDialog, "true");
                }
                else
                {
                    HttpContext.Session.SetString(SessionShowDialog, "false");
                }

                return(RedirectToAction("ReimbursmentClaims", "Claims", new { lang = "en" }));
            }
        }
Esempio n. 3
0
        public async Task <string> AddClaimRequest(AddClaimViewModel _claimdetails)
        {
            RequestCreateDTO reImClaimdetails = null;
            string           status           = "false";

            try
            {
                reImClaimdetails = GetRequestModel(_claimdetails);
                HttpMessageHandler handler = new HttpClientHandler();
                string             url     = "https://localhost:44328/api/AddClaimRequest_New";
                string             cpath   = url;
                var httpClient             = new HttpClient(handler)
                {
                    BaseAddress = new Uri(cpath),
                    Timeout     = new TimeSpan(0, 2, 0)
                };
                httpClient.DefaultRequestHeaders.Add("ContentType", "application/json");
                var content = JsonConvert.SerializeObject(reImClaimdetails);

                var httpContent = new StringContent(content, Encoding.UTF8, "application/json");

                HttpResponseMessage response = await httpClient.PostAsync(url, httpContent);

                if (response.StatusCode == HttpStatusCode.OK)
                {
                    var a = JsonConvert.DeserializeObject <string>(response.Content.ReadAsStringAsync().Result);
                    status = a;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(status);
        }
Esempio n. 4
0
        public async Task <string> AddClaimReq(AddClaimViewModel _clm)
        {
            string nationalId = TempData["NationalId"].ToString();

            _clm.ClientDTO.IDNumber = nationalId;
            return(await _claimsHandler.AddClaimRequest(_clm));
        }
Esempio n. 5
0
        public async Task <ActionResult> Add(AddClaimViewModel viewModel)
        {
            var project = await ProjectRepository.GetProjectAsync(viewModel.ProjectId);

            if (project == null)
            {
                return(HttpNotFound());
            }

            try
            {
                await _claimService.AddClaimFromUser(viewModel.ProjectId, viewModel.CharacterGroupId, viewModel.CharacterId, viewModel.ClaimText,
                                                     GetCustomFieldValuesFromPost());

                return(RedirectToAction(
                           "SetupProfile",
                           "Manage",
                           new { checkContactsMessage = true }));
            }
            catch (Exception exception)
            {
                ModelState.AddException(exception);
                var source = await ProjectRepository.GetClaimSource(viewModel.ProjectId, viewModel.CharacterGroupId, viewModel.CharacterId).ConfigureAwait(false);

                return(View(viewModel.Fill(source, CurrentUserId)));
            }
        }
Esempio n. 6
0
        public async Task <ActionResult> Add(AddClaimViewModel viewModel)
        {
            var project = await ProjectRepository.GetProjectAsync(viewModel.ProjectId);

            var error = WithEntity(project);

            if (error != null)
            {
                return(error);
            }

            try
            {
                await _claimService.AddClaimFromUser(viewModel.ProjectId, viewModel.CharacterGroupId, viewModel.CharacterId,
                                                     CurrentUserId, viewModel.ClaimText,
                                                     GetCustomFieldValuesFromPost());

                return(RedirectToAction(
                           "SetupProfile",
                           "Manage",
                           new { checkContactsMessage = true }));
            }
            catch (Exception exception)
            {
                ModelState.AddException(exception);
                var source = await GetClaimSource(viewModel.ProjectId, viewModel.CharacterGroupId, viewModel.CharacterId);

                //TODO: Отображать ошибки верно
                return(View(viewModel.Fill(source, GetCurrentUser())));
            }
        }
        public void CantSendClaimToSameGroup()
        {
            _ = Mock.CreateClaim(Mock.Group, Mock.Player);
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.CanSendClaim.ShouldBeFalse();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
        public void CantSendClaimIfHasApproved()
        {
            _ = Mock.CreateApprovedClaim(Mock.Character, Mock.Player);
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.CanSendClaim.ShouldBeFalse();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
        public void AllowSendClaimEvenIfHasAnotherNotApproved()
        {
            _ = Mock.CreateClaim(Mock.Character, Mock.Player);
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.CanSendClaim.ShouldBeTrue();
            vm.IsProjectRelatedReason.ShouldBeFalse();
            vm.ValidationStatus.ShouldContain(AddClaimForbideReasonViewModel.AlredySentNotApprovedClaimToAnotherPlace);
        }
        public void AllowSendClaimEvenIfHasApprovedAccordingToSettings()
        {
            Mock.Project.Details.EnableManyCharacters = true;
            _ = Mock.CreateApprovedClaim(Mock.Character, Mock.Player);
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.CanSendClaim.ShouldBeTrue();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
        public void CantSendClaimToSameCharacterEvenProjectSettingsAllowsMultiple()
        {
            Mock.Project.Details.EnableManyCharacters = true;
            _ = Mock.CreateClaim(Mock.Character, Mock.Player);
            var vm = AddClaimViewModel.Create(Mock.Character, Mock.Player.UserId);

            vm.CanSendClaim.ShouldBeFalse();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
        public void CantSendClaimToNotAvailCharacter()
        {
            Mock.Character.IsAcceptingClaims = false;
            var vm = AddClaimViewModel.Create(Mock.Character, Mock.Player.UserId);

            vm.IsAvailable.ShouldBeFalse();
            vm.CanSendClaim.ShouldBeFalse();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
        public void CantSendClaimToNotAvailGroup()
        {
            Mock.Group.HaveDirectSlots = false;
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.IsAvailable.ShouldBeFalse();
            vm.CanSendClaim.ShouldBeFalse();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
        public void AllowSendClaimToSameGroupIfProjectSettingsAllows()
        {
            Mock.Project.Details.EnableManyCharacters = true;
            _ = Mock.CreateClaim(Mock.Group, Mock.Player);
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.CanSendClaim.ShouldBeTrue();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
Esempio n. 15
0
        private RequestCreateDTO GetRequestModel(AddClaimViewModel addClaimViewModel)
        {
            RequestCreateDTO      _clmdet        = null;
            List <RequestFileDTO> _uploadedfiles = null;
            List <Registration>   _allusers      = CustomerHandler.GetUsers();
            Registration          _userdetails   = _allusers.Find(c => c.Iqama_NationalID == addClaimViewModel.ClientDTO.IDNumber);

            if (addClaimViewModel != null)
            {
                _clmdet = new RequestCreateDTO();
                _clmdet.PolicyNumber   = _userdetails.PolicyNo;
                _clmdet.HolderName     = _userdetails.MemberName;
                _clmdet.MemberID       = addClaimViewModel.ClientDTO.IDNumber;
                _clmdet.MemberName     = _userdetails.MemberName;
                _clmdet.NationalId     = addClaimViewModel.NationalId;
                _clmdet.RelationName   = "";
                _clmdet.ClaimTypeName  = addClaimViewModel.ClaimTypeName;
                _clmdet.CardNumber     = _userdetails.CardNo;
                _clmdet.CardExpireDate = null;
                _clmdet.RequestDate    = DateTime.Now;
                _clmdet.ExpectedAmount = addClaimViewModel.ExpectedAmount;
                _clmdet.VATAmount      = addClaimViewModel.VATAmount;
                _clmdet.Comment        = addClaimViewModel.Comment;
                ClientDTO client = new ClientDTO();
                client.ClientName   = _userdetails.MemberName;
                client.IDNumber     = addClaimViewModel.ClientDTO.IDNumber;
                client.MobileNumber = _userdetails.MemberMobileNumber;
                client.Email        = "";
                client.IBANNumber   = addClaimViewModel.ClientDTO.IB0 + addClaimViewModel.ClientDTO.IB1 + addClaimViewModel.ClientDTO.IB2 + addClaimViewModel.ClientDTO.IB3 + addClaimViewModel.ClientDTO.IB4 + addClaimViewModel.ClientDTO.IB5 + addClaimViewModel.ClientDTO.IB6;
                client.BankName     = addClaimViewModel.ClientDTO.BankName;
                _clmdet.ClientDTO   = client;

                _uploadedfiles = new List <RequestFileDTO>();
                foreach (var file in addClaimViewModel.FilesUploaded)
                {
                    if (file.Length > 0)
                    {
                        using (var ms = new MemoryStream())
                        {
                            RequestFileDTO requestFile = new RequestFileDTO();
                            requestFile.FileDesc = file.FileName;
                            requestFile.FilePath = file.FileName;
                            file.CopyTo(ms);
                            var    fileBytes = ms.ToArray();
                            string s         = Convert.ToBase64String(fileBytes);
                            requestFile.MyFile = fileBytes;
                            // act on the Base64 data
                            _uploadedfiles.Add(requestFile);
                        }
                    }
                }
                _clmdet.RequestFileList = _uploadedfiles;
            }

            return(_clmdet);
        }
Esempio n. 16
0
        public async Task <ActionResult> AddForCharacter(int projectid, int characterid)
        {
            var field = await CharacterRepository.GetCharacterAsync(projectid, characterid);

            if (field == null)
            {
                return(HttpNotFound());
            }
            return(View("Add", AddClaimViewModel.Create(field, CurrentUserId)));
        }
        public void CantSendClaimIfNoSlots()
        {
            Mock.Group.HaveDirectSlots     = true;
            Mock.Group.AvaiableDirectSlots = 0;
            var vm = AddClaimViewModel.Create(Mock.Group, Mock.Player.UserId);

            vm.IsAvailable.ShouldBeFalse();
            vm.CanSendClaim.ShouldBeFalse();
            vm.IsProjectRelatedReason.ShouldBeFalse();
        }
Esempio n. 18
0
        public IActionResult AddClaim()
        {
            var model = new AddClaimViewModel
            {
                UserList = _userManager.Users.ToList(),
                RoleList = _roleManager.Roles.ToList()
            };


            return(View(model));
        }
Esempio n. 19
0
        public IActionResult AddClaim()
        {
            string Nid = TempData["NationalId"].ToString();

            TempData.Keep("NationalId");
            ViewBag.lang = langcode;
            var userdetails = CustomerHandler.GetCustomerById(Nid);

            ViewBag.MemberName = userdetails.MemberName;
            var _viewm = new AddClaimViewModel();

            _viewm._claimstypes = GetClaimTypesViewModel();
            _viewm._bankNames   = GetBankViewModel();
            return(View(_viewm));
        }
Esempio n. 20
0
        public async Task <IActionResult> AddClaimToUser(AddClaimViewModel addClaimViewModel)
        {
            var configBlob = AzureService.GetBlob("cdn", "private", null, null, $"user/{addClaimViewModel.user_id}", WebUIConfig.membershipFile);
            var json       = await configBlob.DownloadGenericObjectAsync();

            var accounts = JsonUtils.GetJToken(Constants.JsontagAccount, json);

            if (accounts == null)
            {
                var obj          = new JObject();
                var accountArray = new JArray();
                accountArray.Add(addClaimViewModel.accountId);
                obj.Add(Constants.JsontagAccount, accountArray);
                await configBlob.UploadGenericObjectAsync(obj);
            }
            else
            {
                var accountArray = accounts as JArray;
                accountArray.Add(addClaimViewModel.accountId);
                await configBlob.UploadGenericObjectAsync(json);
            }
            var blob    = AzureService.GetBlob("cdn", "private", null, null, $"account", "index.json");
            var accJson = await blob.DownloadGenericObjectAsync();

            if (!Object.ReferenceEquals(accJson, null))
            {
                foreach (var pair in accJson)
                {
                    if (pair.Key == addClaimViewModel.accountId)
                    {
                        var obj   = pair.Value as JObject;
                        var users = JsonUtils.GetJToken("users", obj) as JArray;
                        if (Object.ReferenceEquals(users, null))
                        {
                            obj.Add("users", new JArray {
                                addClaimViewModel.user_id
                            });
                        }
                        else
                        {
                            users.Add(addClaimViewModel.user_id);
                        }
                        await blob.UploadGenericObjectAsync(accJson);
                    }
                }
            }
            return(RedirectToAction("ManageClaims", new { id = addClaimViewModel.user_id }));
        }
Esempio n. 21
0
 public async Task <string> AddClaimReq(AddClaimViewModel _clm)
 {
     try
     {
         var loggedInUser = _authenticationService.GetAuthenticatedUser();
         //string nationalId = TempData["NationalId"].ToString();
         _clm.ClientDTO.IDNumber = loggedInUser.Iqama_NationalID;
         _clm.NationalId         = loggedInUser.Iqama_NationalID;
         return(await _claimsHandler.AddClaimRequest(_clm));
     }
     catch (Exception ex)
     {
         _logger.LogInformation(_className + "::AddClaimReq::Exception::" + ex.Message);
     }
     return("false");
 }
Esempio n. 22
0
        public async Task <ActionResult> AddForGroup(int projectid, int?characterGroupId)
        {
            if (characterGroupId == null)
            {
                var project = await ProjectRepository.GetProjectAsync(projectid);

                return(RedirectToAction("AddForGroup",
                                        new { project.ProjectId, project.RootGroup.CharacterGroupId }));
            }
            var field = await ProjectRepository.GetGroupAsync(projectid, characterGroupId.Value);

            if (field == null)
            {
                return(HttpNotFound());
            }
            return(View("Add", AddClaimViewModel.Create(field, CurrentUserId)));
        }
Esempio n. 23
0
        public async Task <IActionResult> AddClaimToUser(string id)
        {
            List <UserClaimViewModel> claims = new List <UserClaimViewModel>();
            var configBlob = AzureService.GetBlob("cdn", "private", null, null, $"user/{id}", WebUIConfig.membershipFile);
            var json       = await configBlob.DownloadGenericObjectAsync();

            var accounts = JsonUtils.GetJToken(Constants.JsontagAccount, json);

            var accountBlob = AzureService.GetBlob("cdn", "private", null, null, "account", "index.json");
            var accountJson = await accountBlob.DownloadGenericObjectAsync();

            if (!Object.ReferenceEquals(accountJson, null))
            {
                foreach (var one in accountJson)
                {
                    claims.Add(new UserClaimViewModel()
                    {
                        GUid = one.Key, Name = one.Value["name"].ToString()
                    });
                }
            }
            var AccountArray = accounts == null ? null : accounts as JArray;

            if (!Object.ReferenceEquals(AccountArray, null))
            {
                foreach (var account in AccountArray)
                {
                    foreach (UserClaimViewModel o in claims)
                    {
                        if (o.GUid == account.ToString())
                        {
                            claims.Remove(o);
                            break;
                        }
                    }
                }
            }

            var vm = new AddClaimViewModel
            {
                user_id = id,
                claims  = claims
            };

            return(View(vm));
        }
        public void NonPublicFieldsShouldNotBeShownOnCharacters()
        {
            var field = Mock.CreateField(new ProjectField()
            {
                IsPublic = false, CanPlayerEdit = false
            });
            var value = new FieldWithValue(field, "xxx");

            Mock.Character.JsonData = new[] { value }.SerializeFields();

            var vm        = AddClaimViewModel.Create(Mock.Character, Mock.Player.UserId);
            var fieldView = vm.Fields.Field(field);

            _ = fieldView.ShouldNotBeNull();
            fieldView.ShouldBeHidden();
            fieldView.ShouldBeReadonly();
        }
Esempio n. 25
0
        public async Task <IActionResult> AddClaim(AddClaimViewModel addClaimViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(addClaimViewModel));
            }

            var claim = new Claim(addClaimViewModel.ClaimName, addClaimViewModel.ClaimValue);

            if (!string.IsNullOrEmpty(addClaimViewModel.UserName))
            {
                var user = await _userManager.FindByNameAsync(addClaimViewModel.UserName);

                if (user == null)
                {
                    ModelState.AddModelError(string.Empty, "User not found!");
                    return(View(addClaimViewModel));
                }

                var result = await _userManager.AddClaimAsync(user, claim);
            }
            else if (!string.IsNullOrEmpty(addClaimViewModel.RoleName))
            {
                var role = await _roleManager.FindByNameAsync(addClaimViewModel.RoleName);

                if (role == null)
                {
                    ModelState.AddModelError(string.Empty, "Role not found!");
                    return(View(addClaimViewModel));
                }

                var result = await _roleManager.AddClaimAsync(role, claim);
            }



            return(RedirectToAction("Index", "Home"));
        }
Esempio n. 26
0
        public async Task <ActionResult> AddForGroup(int projectid, int characterGroupId)
        {
            var field = await ProjectRepository.GetGroupAsync(projectid, characterGroupId);

            return(WithEntity(field.Project) ?? View("Add", AddClaimViewModel.Create(field, GetCurrentUser())));
        }
Esempio n. 27
0
 public string AddClaimRequest(AddClaimViewModel _clm)
 {
     return(AddClaimReq(_clm).Result);
 }