Example #1
0
        public void AddLogDataChange(byte[] before, byte[] after, DataChangeStatus action, string TableName)
        {
            var IdTable       = _logRepository.GetTableByName(TableName);
            var entryUser     = _userRepoService.GetUserByUsername(_contextAccessor.HttpContext.User?.Identity?.Name);
            var logDataChange = new LogDataChange
            {
                EntryDate                = DateTime.Now,
                IDEntryUser              = entryUser != null ? entryUser.ID : 999999,
                EntryUser                = entryUser != null ? entryUser.Account : "public",
                Before                   = before,
                After                    = after,
                IDTable                  = IdTable,
                ComputerName             = NetworkHelper.GetComputerName(),
                IDAddress                = NetworkHelper.GetIPAddress(),
                IDLogBrowserType         = NetworkHelper.GetBrowserTypeId(),
                IDLogOperatingSystemType = NetworkHelper.GetOperatingSystemTypeId(),
                IsMobileDevice           = NetworkHelper.IsMobileDevice(),
                IDLogDataChangeStatus    = (int)action
            };

            _logRepository.AddLogDataChange(logDataChange);
        }
Example #2
0
        public async Task <Response <UserModel> > Create(CreateUserModel _)
        {
            try
            {
                var newUser = _repository.GetUserByUsername(_.Account);

                if (newUser != null)
                {
                    _saveLog.LogInformation("Account already exist! Account :" + _.Account);
                    return(new Response <UserModel>(PublicResultStatusCodes.AccountAlreadyExists));
                }

                //if (_.IdUserAuthorizationType == (int)UserAuthorizationTypeIds.SystemAccount && !PasswordHelper.ValidatePassword(_.Password))
                //{
                //    _saveLog.LogInformation("Trying creating account but password break pattern. Account:" + _.Account);
                //    return new Response<UserModel>(PublicResultStatusCodes.ModelIsNotValid);
                //}

                var user = _mapper.Map <User>(_);
                HashNewUserPassword(ref user, _contextAccessor.HttpContext.User.Identity.Name);

                //if (user.IdActiveDirectoryDomain.HasValue && !DoesADUserExist(user.Account, user.IdActiveDirectoryDomain.Value))
                //{
                //    _saveLog.LogInformation("Account Do not exist in Active Directory with Id = \"" + _.IdActiveDirectoryDomain + "\" and with Account = \"" + _.Account + "\"");
                //    return new Response<UserModel>(PublicResultStatusCodes.ActiveDirectoryAccountNotExists);
                //}

                //if (!user.IdActiveDirectoryDomain.HasValue)
                user.ChangePasswordNeeded = true;

                var serials = ConvertToBinaryHelper <User> .SerializeAndConvert(null, user);

                _generalUpdateService.InsertAddLogDataChange(user, serials.Item1, serials.Item2);
                //var list = new List<UserAuthorization>();
                var idEntry   = int.Parse(_contextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value);
                var entryUser = _contextAccessor.HttpContext.User?.Identity?.Name;
                //if (_.UserAuthorization != null)
                //    foreach (var item in _.UserAuthorization)
                //    {
                //        list.Add(new UserAuthorization()
                //        {
                //            IdModule = item.IdModule,
                //            IdRoleAuthorizationType = item.IdRoleAuthorizationType,
                //            IdUser = user.Id,
                //            EntryDate = DateTime.Now,
                //            IdEntryUser = idEntry,
                //            EntryUser = entryUser
                //        });
                //    }
                //_repository.AddRangeRoleAuthorization(list);

                //if (!string.IsNullOrWhiteSpace(user.SerialNumber))
                //{
                //var deviceUser = new DeviceUsers()
                //{
                //    IdUser = user.Id,
                //    IdDevice = _deviceRepository.GetDevices().FirstOrDefault().Id
                //};
                //_deviceRepository.AddDeviceUser(deviceUser);
                //}

                var body = "I/E nderuar, <br/>" +
                           "Nje llogari eshte krijuar me email-in tend. <br/>" +
                           "Ju mund te kyceni permes ktyre te dhenave:<br/>" +
                           "<b>Account:</b> " + _.Account + " <br/>" +
                           "<b>Password:</b> " + _.Password + " <br/>" +
                           "Klikoni ne kete {[vegez]} per te vazhduar.";

                var info = new EmailInfo
                {
                    Subject  = $"Llogari e krijuar",
                    Body     = body,
                    ToEmails = new List <string> {
                        _.EmailAddress
                    }
                };

                await _emailSender.SendEmailAsync(info);



                return(new Response <UserModel>(PublicResultStatusCodes.Done, _mapper.Map <UserModel>(user)));
            }
            catch (Exception) { return(new Response <UserModel>(PublicResultStatusCodes.QueryHasError)); }
        }