コード例 #1
0
        public async Task <TransactionResponse> GetTransactionAsync(int id)
        {
            // return await _Context.Transactions.SingleOrDefaultAsync(c => c.TransactionId == id);

            TransactionResponse transaction = new TransactionResponse();
            var payer    = new MemberResponse();
            var receiver = new MemberResponse();

            var tData     = _Context.Transactions.SingleOrDefault(c => c.TransactionId == id);
            var payerData = _Context.User.SingleOrDefault(c => c.UserId == tData.TransPayersId);

            payer.Id   = payerData.UserId;
            payer.Name = payerData.UserName;

            var recData = _Context.User.SingleOrDefault(c => c.UserId == tData.TransReceiversId);

            receiver.Id   = recData.UserId;
            receiver.Name = recData.UserName;

            transaction.Id       = tData.TransactionId;
            transaction.Payer    = payer;
            transaction.Receiver = receiver;
            transaction.GroupId  = tData.GroupId.GetValueOrDefault();

            if (transaction.GroupId != 0)
            {
                var name = _Context.Group.SingleOrDefault(c => c.GroupId == transaction.GroupId);
                transaction.GroupName = name.GroupName;
            }

            transaction.PaidAmount  = tData.PaidAmount;
            transaction.CreatedDate = tData.CreatedDate;
            return(transaction);
        }
コード例 #2
0
        /// <summary>
        /// User Authetntication
        /// </summary>
        public void UserAuthentication()
        {
            // Create the manager with the api key
            Route4MeManager route4Me = new Route4MeManager(c_ApiKey);

            MemberParameters @params = new MemberParameters
            {
                StrEmail    = "*****@*****.**",
                StrPassword = "******",
                Format      = "json"
            };
            // Run the query
            string         errorString = "";
            MemberResponse result      = route4Me.UserAuthentication(@params, out errorString);

            Console.WriteLine("");

            if (result != null)
            {
                Console.WriteLine("UserAuthentication executed successfully");
                Console.WriteLine("status: " + result.Status);
                Console.WriteLine("api_key: " + result.ApiKey);
                Console.WriteLine("member_id: " + result.MemberId);
                Console.WriteLine("---------------------------");
            }
            else
            {
                Console.WriteLine("UserAuthentication error: {0}", errorString);
            }
        }
コード例 #3
0
        /// <summary>
        /// User Registration
        /// </summary>
        public void UserRegistration()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            var @params = new MemberParameters
            {
                StrEmail      = "skrynkovskyy+newdispatcher" + DateTime.Now.ToString("yyMMddHHmmss") + "@gmail.com",
                StrPassword_1 = "11111111",
                StrPassword_2 = "11111111",
                StrFirstName  = "Olas",
                StrLastName   = "Progman",
                StrIndustry   = "Transportation",
                Format        = "json",
                ChkTerms      = 1,
                DeviceType    = "web",
                Plan          = "free",
                MemberType    = 5
            };

            // Run the query
            MemberResponse result = route4Me.UserRegistration(@params, out string errorString);

            if (result != null && result.GetType() == typeof(MemberResponse))
            {
                usersToRemove = new List <string>();
                usersToRemove.Add(result.MemberId.ToString());
            }

            PrintTestUsers(result, errorString);

            RemoveTestUsers();
        }
コード例 #4
0
        public HttpResponseMessage Put(MemberRequest memberRequest)
        {
            MemberResponse member   = _memberManager.Update(memberRequest);
            var            response = Request.CreateResponse(HttpStatusCode.Created, new { Member = member });

            return(response);
        }
コード例 #5
0
        public string GenerateSecurityToken(MemberResponse user)
        {
            var tokenHandler = new JwtSecurityTokenHandler();
            var key          = Encoding.ASCII.GetBytes(_secret);
            var claims       = new[]
            {
                new Claim(JwtRegisteredClaimNames.Sub, user.username),
                new Claim("firstName", user.membername),
                new Claim("role", user.roles),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
            };
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                IssuedAt = DateTime.Now,
                Subject  = new ClaimsIdentity(new[]
                {
                    new Claim(ClaimTypes.Name, user.id.ToString()),
                    new Claim(JwtRegisteredClaimNames.Sub, user.username),
                    new Claim("firstName", user.membername),
                    new Claim(ClaimTypes.Role, user.roles),
                    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
                }),
                Expires            = DateTime.UtcNow.AddMinutes(double.Parse(_expDate)),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key),
                                                            SecurityAlgorithms.HmacSha256Signature),
                EncryptingCredentials = new EncryptingCredentials(new SymmetricSecurityKey(_encryptionkey),
                                                                  SecurityAlgorithms.Aes128KW, SecurityAlgorithms.Aes128CbcHmacSha256)
            };
            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
コード例 #6
0
        public async Task <GroupTransactionResponse> GetTransactionAsync(int id)
        {
            GroupTransactionResponse transaction = new GroupTransactionResponse();
            var payer    = new MemberResponse();
            var receiver = new MemberResponse();

            var tData     = _Context.group_transaction.SingleOrDefault(c => c.grouptransactionID == id);
            var payerData = _Context.user.SingleOrDefault(c => c.userID == tData.grouptransPayerID);

            payer.ID   = payerData.userID;
            payer.Name = payerData.first_name;

            var recData = _Context.user.SingleOrDefault(c => c.userID == tData.grouptransReceiverID);

            receiver.ID   = recData.userID;
            receiver.Name = recData.first_name;

            transaction.ID       = tData.grouptransactionID;
            transaction.payer    = payer;
            transaction.receiver = receiver;
            transaction.groupID  = tData.groupID.GetValueOrDefault();

            if (transaction.groupID != 0)
            {
                var name = _Context.group.SingleOrDefault(c => c.groupID == transaction.groupID);
                transaction.groupName = name.group_name;
            }

            transaction.paid_share = tData.paid_share;
            transaction.created_at = tData.created_at;
            return(transaction);
        }
コード例 #7
0
        /// <summary>
        /// Validate Session
        /// </summary>
        public void ValidateSession()
        {
            // Create the manager with the api key
            Route4MeManager route4Me = new Route4MeManager(c_ApiKey);

            MemberParameters @params = new MemberParameters
            {
                SessionGuid = "ad9001f33ed6875b5f0e75bce52cbc34",
                MemberId    = 1,
                Format      = "json"
            };
            // Run the query
            string         errorString = "";
            MemberResponse result      = route4Me.ValidateSession(@params, out errorString);

            Console.WriteLine("");

            if (result != null)
            {
                Console.WriteLine("ValidateSession executed successfully");
                Console.WriteLine("status: " + result.Status);
                Console.WriteLine("api_key: " + result.ApiKey);
                Console.WriteLine("member_id: " + result.MemberId);
                Console.WriteLine("---------------------------");
            }
            else
            {
                Console.WriteLine("ValidateSession error: {0}", errorString);
            }
        }
コード例 #8
0
ファイル: MasterPage.xaml.cs プロジェクト: soulbox/TkService
 public MasterPage(MemberResponse response)
 {
     InitializeComponent();
     logo.BindingContext = "logo2.png";
     navigationDrawerList.ItemsSource = MasterPageItems.MenuList;
     title.Text   = response.AccountTitle;
     account.Text = $"{response.FirstName } { response.LastName}";
 }
コード例 #9
0
 public static MemberResponse WithoutCompanyId(this MemberResponse user)
 {
     if (user == null)
     {
         return(user);
     }
     user.companyid = null;
     return(user);
 }
コード例 #10
0
 public static MemberResponse WithoutPassword(this MemberResponse user)
 {
     if (user == null)
     {
         return(user);
     }
     user.password = string.Empty;
     return(user);
 }
コード例 #11
0
        public async Task <IActionResult> Post([FromBody] CompanyResponse request)
        {
            var duplicateRecord = await _service.GetSingle(q => q.email == request.email);

            if (duplicateRecord != null)
            {
                return(Conflict(new { message = "آدرس پست الکترونیک قبلا به ثبت رسیده است" }));
            }

            duplicateRecord = await _service.GetSingle(q => q.subdomain == request.subdomain);

            if (duplicateRecord != null)
            {
                return(Conflict(new { message = "عنوان زیردامنه قبلا به ثبت رسیده است" }));
            }

            var result = await _service.AddRecord(request);

            if (result == null)
            {
                return(NotFound(new { message = "شرکت ثبت نشده است" }));
            }
            var adminUser = new MemberResponse
            {
                membername = "مدیریت",
                password   = new Password(true, true, true,
                                          true, 21).Next(),
                roles       = "admin",
                email       = request.email,
                companyid   = request.id,
                allowdelete = false,
                disabled    = false
            };
            await _memberService.AddRecord(adminUser, request.id);

            _emailService.Send(new EmailMessage
            {
                Subject = "میز کار خدمات رایانه ای AiKi",
                Content =
                    $"<p dir='rtl' style='font-family:tahoma'> با سلام </br> رمز عبور شما جهت ورود به میزکار خدمات رایانه ای عبارت است از: <span dir='ltr'><b>{adminUser.password}</b></span> <br/> جهت ورود <a href='https://aiki-helpdesk-v1.firebaseapp.com/'>اینجا</a> کلیک نمایید</p>",
                FromAddresses = new List <EmailAddress>
                {
                    new EmailAddress {
                        Name = "Mohammad Mehrnia", Address = "*****@*****.**"
                    }
                },
                ToAddresses = new List <EmailAddress> {
                    new EmailAddress {
                        Name = request.title, Address = request.email
                    }
                }
            });
            return(CreatedAtAction(nameof(Post), request));
        }
コード例 #12
0
ファイル: MemberRepository.cs プロジェクト: guoyu07/Alfred-1
        public async Task <MemberResponseModel> GetMembers(MemberCriteriaModel criteriaModel)
        {
            var criteria     = _modelFactory.CreateMemberCriteria(criteriaModel);
            var membersCount = await _memberDao.CountMembers(criteria).ConfigureAwait(false);

            var memberResponse = new MemberResponse
            {
                Links   = CreateLinks(criteria.Page, criteria.PageSize, membersCount),
                Results = await CreateMembers(criteria, membersCount).ConfigureAwait(false)
            };

            return(_modelFactory.CreateMemberResponseModel(memberResponse));
        }
コード例 #13
0
        public async Task <MemberResponse> GetMemberDetails(MemberVm memberVm)
        {
            MemberResponse memberResponse = new MemberResponse();

            try
            {
                await _memberRepository.GetMemberDetails(memberVm);
            }
            catch (Exception ex)
            {
            }
            return(memberResponse);
        }
コード例 #14
0
        public async Task <IActionResult> Post([FromBody] CompanyResponse request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { model = ModelState, message = "خطا در ویرایش اطلاعات" }));
            }
            var duplicateRecord = await _memberService.GetSingle(q => q.username == request.email);

            if (duplicateRecord != null)
            {
                return(BadRequest("نام کاربری تکراری است"));
            }
            var result = await _service.AddRecord(request);

            var adminUser = new MemberResponse
            {
                membername  = "مدیریت",
                password    = new Password(includeLowercase: true, includeUppercase: true, includeNumeric: true, includeSpecial: true, passwordLength: 21).Next(),
                roles       = "admin",
                email       = request.email,
                companyid   = request.id,
                allowdelete = false,
                disabled    = false
            };
            await _memberService.AddRecord(adminUser, request.id);

            _emailService.Send(new EmailMessage
            {
                Subject       = "میز کار خدمات رایانه ای AiKi",
                Content       = $"<p dir='rtl' style='font-family:tahoma'> با سلام </br> رمز عبور شما جهت ورود به میزکار خدمات رایانه ای عبارت است از: <span dir='ltr'><b>{adminUser.password}</b></span> <br/> جهت ورود <a href='https://aiki-helpdesk-v1.firebaseapp.com/'>اینجا</a> کلیک نمایید</p>",
                FromAddresses = new List <EmailAddress>()
                {
                    new EmailAddress()
                    {
                        Name = "Mohammad Mehrnia", Address = "*****@*****.**"
                    }
                },
                ToAddresses = new List <EmailAddress>()
                {
                    new EmailAddress()
                    {
                        Name = request.title, Address = request.email
                    }
                },
            });
            return(CreatedAtAction(nameof(Post), request));
        }
コード例 #15
0
 internal void AddUsers(MemberResponse data)
 {
     foreach (Parent parent in data.Parents)
     {
         AddMember(parent);
         AddParent(parent);
     }
     foreach (Student student in data.Students)
     {
         SetStudentClassroom(student);
         SetParentInfo(student);
         AddMember(student);
         AddStudent(student);
     }
     foreach (Teacher teacher in data.Teachers)
     {
         AddMember(teacher);
         AddTeacher(teacher);
     }
 }
コード例 #16
0
        /// <summary>
        /// User Authetntication
        /// </summary>
        public void UserAuthentication()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            CreateTestUser();

            var @params = new MemberParameters
            {
                StrEmail    = lastCreatedUser.member_email,
                StrPassword = "******",
                Format      = "json"
            };

            // Run the query
            MemberResponse result = route4Me.UserAuthentication(@params, out string errorString);

            PrintTestUsers(result, errorString);

            RemoveTestUsers();
        }
コード例 #17
0
        /// <summary>
        /// User Registration
        /// </summary>
        public void UserRegistration()
        {
            // Create the manager with the api key
            Route4MeManager route4Me = new Route4MeManager(c_ApiKey);

            MemberParameters @params = new MemberParameters
            {
                StrEmail      = "*****@*****.**",
                StrPassword_1 = "11111111",
                StrPassword_2 = "11111111",
                StrFirstName  = "Olman",
                StrLastName   = "Progman",
                StrIndustry   = "Transportation",
                Format        = "json",
                ChkTerms      = 1,
                DeviceType    = "web",
                Plan          = "free",
                MemberType    = 5
            };
            // Run the query
            string         errorString = "";
            MemberResponse result      = route4Me.UserRegistration(@params, out errorString);

            Console.WriteLine("");

            if (result != null)
            {
                Console.WriteLine("UserRegistration executed successfully");
                Console.WriteLine("status: " + result.Status);
                Console.WriteLine("api_key: " + result.ApiKey);
                Console.WriteLine("member_id: " + result.MemberId);
                Console.WriteLine("---------------------------");
            }
            else
            {
                Console.WriteLine("UserRegistration error: {0}", errorString);
            }
        }
コード例 #18
0
ファイル: ModelFactory.cs プロジェクト: guoyu07/Alfred-1
 public MemberResponseModel CreateMemberResponseModel(MemberResponse memberResponse)
 {
     return(CreateResponseModel <Member, MemberModel, MemberResponseModel>(memberResponse, CreateMemberModel));
 }
コード例 #19
0
        public HttpResponseMessage GetCheckIn(HttpRequestMessage req)
        {
            string data = req.Content.ReadAsStringAsync().Result;

            string[] array        = data.Split('&');
            string[] userkeyValue = array[0].Split('=');
            string[] rolekeyValue = array[1].Split('=');
            string   userid       = userkeyValue[1];
            string   role         = rolekeyValue[1];

            try
            {
                if (userid != null && role != null)
                {
                    if (role.ToUpper() == "MEMBER")
                    {
                        Member  mem = mo.getMember(int.Parse(userid));
                        Contact con = co.GetContact(int.Parse(userid));
                        if (mem != null && mem.Id != null && mem.Id != 0)
                        {
                            Subscriptions sbs = sub.getSubscriptionByMemberID(mem.Id);
                            MembershipOpt mo  = new MembershipOpt();
                            if (sbs != null && sbs.Id != 0)
                            {
                                Membership mbr       = mo.getMembershipByID(sbs.MembershipID);
                                TimeSpan   timeSpan  = mbr.EndDate - DateTime.Now;
                                TimeSpan   timeSpan1 = mbr.StartDate - DateTime.Now;
                                if (timeSpan1.Days > 0)
                                {
                                    return(Request.CreateResponse(HttpStatusCode.OK, new Message("Membership Not Started")));
                                }
                                else if (timeSpan.Days >= 0)
                                {
                                    var            url   = req.RequestUri.GetLeftPart(UriPartial.Authority);
                                    MemberResponse mr    = new MemberResponse(mem.Id, mem.FirstName + " " + mem.LastName, con.Cell, mbr.Name, mbr.StartDate.ToShortDateString(), mbr.EndDate.ToShortDateString(), url + mem.ImagePath, "Verified");
                                    Visitor        visit = new Visitor();
                                    visit.UserID      = int.Parse(mem.Id.ToString());
                                    visit.UserType    = "Member";
                                    visit.VisitorName = mr.Name;
                                    visit.Date        = DateTime.Today.ToShortDateString();
                                    visit.Clock       = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
                                    visit.Status      = "";
                                    vo.AddVisit(visit);
                                    return(Request.CreateResponse(HttpStatusCode.OK, mr));
                                }
                                else
                                {
                                    return(Request.CreateResponse(HttpStatusCode.OK, new Message("Membership Expired")));
                                }
                            }
                            else
                            {
                                return(Request.CreateResponse(HttpStatusCode.OK, new Message("Membership Not Found")));
                            }
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.OK, new Message("Userid Not Found")));
                        }
                    }
                    else
                    {
                        Staff st = so.getStaffByID(userid);
                        if (st != null)
                        {
                            var           url   = req.RequestUri.GetLeftPart(UriPartial.Authority);
                            StaffResponse staff = new StaffResponse(st.FirstName + ' ' + st.LastName, st.Designation, st.Email, url + st.ImgURL, "Staff");
                            Visitor       visit = new Visitor();
                            visit.UserID      = int.Parse(st.StaffID.ToString());
                            visit.UserType    = "Staff";
                            visit.VisitorName = staff.Name;
                            visit.Date        = DateTime.Today.ToShortDateString();
                            visit.Clock       = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
                            visit.Status      = "";
                            vo.AddVisit(visit);
                            return(Request.CreateResponse(HttpStatusCode.OK, staff));
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.OK, new Message("Staff Not Found")));
                        }
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, new Message("Userid Required")));
                }
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.OK, "Please Contact to Server Adminstrator !!! "));
            }
        }
コード例 #20
0
        public IHttpActionResult GetMember(Guid id)
        {
            MemberResponse byId = (MemberResponse)this.UnitOfWork.MemberRepository.GetById(id);

            return(byId == null ? (IHttpActionResult)this.NotFound() : (IHttpActionResult)this.Ok <MemberResponse>(byId));
        }