public override void ResponderConversation(object context)
        {
            RegistrationMsg msg = new RegistrationMsg()
            {
                MsgId       = MessageId.Create(),
                ConvId      = ConvId,
                MessageType = TypeOfMessage.RegistrationReply,
                Pid         = _processId
            };

            Send(msg);
        }
        public override void InitatorConversation(object context)
        {
            Send(CreateFirstMessage());

            Receive();

            if (Error != null)
            {
                return;
            }

            RegistrationMsg msg = Message.Decode <RegistrationMsg>(incomingMsg);

            _processId = msg.Pid;
            LocalProcessInfo.Instance.ProcessId = msg.Pid;
        }
예제 #3
0
        public override async Task <StandardReplyMsg> LogIn(RegistrationMsg request, ServerCallContext context)
        {
            Console.WriteLine(request.Login);
            //ako bool promenljiva Login u requestu
            //je false onda vraca ovaj odgovor
            if (!request.Login)
            {
                return new StandardReplyMsg {
                           Success = false, Error = "ovo nije za login, verovatno je za registraciju :/"
                }
            }
            ;

            //u bazi trazimo juzera kog smo dobili u requestu
            //preko username
            //ovde treba biti oprezan
            IdentityUser iuser = await _userManager.FindByNameAsync(request.Username);

            if (iuser is not null)
            {
                //rezultat je tipa SignInResult
                //pogledati konstruktor i analizirati ovo bool isPersistent
                var rezultat = await _signInManager.PasswordSignInAsync(iuser, request.Password, false, false);

                if (rezultat.Succeeded)
                {
                    return new StandardReplyMsg {
                               Success = true, Error = "Uspesno ste loginovani"
                    }
                }
                ;
                else
                {
                    return new StandardReplyMsg {
                               Success = false, Error = "Bad user/pass"
                    }
                };
            }
            else
            {
                return(new StandardReplyMsg {
                    Success = false, Error = "nema ga u bazi"
                });
            }
        }
예제 #4
0
        public override async Task <StandardReplyMsg> Registration(RegistrationMsg request, ServerCallContext context)
        {
            _logger.LogInformation("usao u Registraciju");
            IdentityUser iuser;

            iuser = new User
            {
                UserName  = request.Username,
                firstName = request.UserProto.FirstNameProto,
                lastName  = request.UserProto.LastNameProto
            };
            _logger.LogInformation($"iz rekvesta smoo napunili iuser-a sa usernejmom {iuser.UserName}");
            var rezultat = await _userManager.CreateAsync(iuser, request.Password);

            _logger.LogInformation($"napunio rezultat i ako je true uspeo je >>>> {rezultat.Succeeded}<<<<");

            //ako je uspesna registracija vraca u poruci da je uspesno
            if (rezultat.Succeeded)
            {
                _logger.LogInformation("ovaj je uspeo da ga registruje");
                return(new StandardReplyMsg {
                    Success = true
                });
            }
            else
            {
                _logger.LogInformation("nije uspela registracije sad ce da napise greske");
                //ako nije uspesna onda vraca Uspeh da je false
                //i pise sto nece, tj sta je greska
                return(new StandardReplyMsg
                {
                    Success = false,
                    Error = rezultat.Errors
                            .Select(e => e.Description)
                            .Aggregate((sveGreske, greska) => sveGreske += greska + System.Environment.NewLine)
                });
            }
        }