Пример #1
0
        public IHttpActionResult Register(RegisterModel regModel)
        {
            using (SecurityUserRepository secRepository = new SecurityUserRepository())
            {
                reqResponse = secRepository.AddUpdate(new SecurityUser()
                {
                    DeviceId  = regModel.device_unique_id,
                    Telephone = regModel.phone_number,
                    Email     = regModel.email.Trim(),
                    Password  = WebUI.Helpers.WebUiUtility.Encrypt(regModel.password.Trim()),
                    FullName  = regModel.first_name + " " + regModel.last_name,
                    Gender    = regModel.gender,
                    BirthDate = regModel.date_of_birth,
                    IsActive  = false
                });

                if (reqResponse.IsDone)
                {
                    SMTPEmailSender EmailProxy = new SMTPEmailSender();

                    string msgBody = Resources.OperationLP.subscribtionMail.Replace("{0}", reqResponse.ResponseIdStr);
                    //string msgBody = "Activation Code : " + reqResponse.ResponseIdStr;
                    //string msgBody = string.Format(Resources.OperationLP.subscribtionMail ,reqResponse.ResponseIdStr);

                    EmailProxy.SendEmail("", regModel.email, "Subscription activation", msgBody, true);
                }
            }
            return(Json(reqResponse));
        }
Пример #2
0
        public IHttpActionResult UploadFile()
        {
            int userId = GetUserId();

            if (userId == 0)
            {
                reqResponse.ErrorMessages.Add("noUser", "Invalid Data");
                return(Ok(reqResponse));
            }
            string fileName = RandomNumber(20) + ".jpg";
            var    file     = HttpContext.Current.Request.Files.Count > 0 ?
                              HttpContext.Current.Request.Files[0] : null;

            if (file != null && file.ContentLength > 0)
            {
                // var fileName = Path.GetFileName(file.FileName);

                var path = Path.Combine(
                    HostingEnvironment.MapPath("~/DataImages/"),
                    //  HttpContext.Current.Server.MapPath("~/DataImages"),
                    fileName
                    );

                file.SaveAs(path);
                using (SecurityUserRepository secUserRepo = new SecurityUserRepository())
                {
                    var curentModel = secUserRepo.GetById(userId);
                    curentModel.IdString = fileName;
                    secUserRepo.AddUpdate(curentModel);
                }
            }

            return(Ok(reqResponse));
            //return file != null ? "/uploads/" + file.FileName : null;
        }
Пример #3
0
 public IHttpActionResult VerfiyPass(VerifyPassCodeModel verifyModel)
 {
     using (SecurityUserRepository secRepository = new SecurityUserRepository())
     {
         reqResponse = secRepository.VerfiyPassCode(verifyModel);
     }
     return(Json(reqResponse));
 }
Пример #4
0
        public void Delete(SecurityUserModel entity)
        {
            objSecurityUser = new SecurityUserRepository();

            tbl_Security_User objDelete = objSecurityUser.GetSingle(x => x.UserID.Equals(entity.UserID) && x.SubSystemID.Equals(entity.SubsystemID));

            if (objSecurityUser.GetAll(x => x.UserID.Equals(entity.UserID) && x.SubSystemID.Equals(entity.SubsystemID)).Count() > 0)
                objSecurityUser.Delete(objDelete);
        }
Пример #5
0
        public IHttpActionResult Login(LoginModel loginModel)
        {
            try
            {
                if (string.IsNullOrEmpty(loginModel.userName) || string.IsNullOrEmpty(loginModel.password))
                {
                    return(BadRequest(Fly.Resources.OperationLP.InvalidUserNamePassword));
                }

                loginModel.password = WebUI.Helpers.WebUiUtility.Encrypt(loginModel.password);
                var pairs = new List <KeyValuePair <string, string> >
                {
                    new KeyValuePair <string, string>("grant_type", "password"),
                    new KeyValuePair <string, string>("username", loginModel.userName),
                    new KeyValuePair <string, string> ("Password", loginModel.password)
                };
                var content = new FormUrlEncodedContent(pairs);
                ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;

                var authorizationHeader = Convert.ToBase64String(Encoding.UTF8.GetBytes("rajeev:" + loginModel.password));


                System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; // comparable to modern browsers

                using (var client = new HttpClient())
                {
                    var response = client.PostAsync(new Uri(System.Configuration.ConfigurationManager.AppSettings["ServiceUrl"].ToString() + "Token"), content).Result;

                    var token = response.Content.ReadAsAsync <Token>(new[] { new JsonMediaTypeFormatter() }).Result;
                    using (SecurityUserRepository obj = new SecurityUserRepository())
                    {
                        SecurityUser secUserModel = obj.GetBy(loginModel.userName, loginModel.password);
                        if (secUserModel != null)
                        {
                            token.UserId   = secUserModel.PayMobSendId;
                            token.Tocken   = secUserModel.TockenToP;
                            token.UserName = secUserModel.FullName;
                        }
                    }
                    // var sss = response.Content.ReadAsStringAsync().Result;
                    //return Json(new { tock = sss });
                    return(Ok(token));
                }
            }
            catch (OperationCanceledException oce)
            {
                logger.Error(oce.Message + " < " + oce.InnerException.Message + " < " + oce.StackTrace + " == " + oce.Data);
                return(Ok(new { success = false, access_token = "" }));
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message + " > " + ex.InnerException.Message + " > " + ex.StackTrace);
                return(Ok(new { success = false, access_token = "" }));
            }
        }
Пример #6
0
        public void Save(SecurityUserModel entity)
        {
            objSecurityUser = new SecurityUserRepository();

            Mapper.CreateMap<SecurityUserModel, tbl_Security_User>();

            tbl_Security_User objSave = new tbl_Security_User();

            objSave = Mapper.Map(entity, objSave);

            if(objSecurityUser.GetAll(x=>x.UserID.Equals(entity.UserID) && x.SubSystemID.Equals(entity.SubsystemID)).Count()==0)
                objSecurityUser.Add(objSave);
        }
Пример #7
0
        public IHttpActionResult UserInfo()
        {
            int userId = GetUserId();

            if (userId == 0)
            {
                reqResponse.ErrorMessages.Add("noUser", "Invalid Data");
                return(Ok(reqResponse));
            }
            using (SecurityUserRepository secUserRepo = new SecurityUserRepository())
            {
                return(Ok(secUserRepo.GetInfo(userId)));
            }
        }
Пример #8
0
        public IList<SecurityUserModel> getAll(int subSystemID)
        {
            objSecurityUser = new SecurityUserRepository();

            Mapper.CreateMap<tbl_Security_User, SecurityUserModel>();

            IList<tbl_Security_User> objEntity = objSecurityUser.GetAll(x=>x.SubSystemID.Equals(subSystemID)).ToList();

            IList<SecurityUserModel> objResult = new List<SecurityUserModel>();

            objResult = Mapper.Map(objEntity, objResult);

            return objResult;
        }
Пример #9
0
        public IHttpActionResult UserPaymentRefund()
        {
            int userId = GetUserId();

            if (userId == 0)
            {
                reqResponse.ErrorMessages.Add("noUser", "Invalid Data");
                return(Ok(reqResponse));
            }

            using (SecurityUserRepository secRepo = new SecurityUserRepository())
            {
                return(Ok(secRepo.UpdateRefundDone(userId)));
            }
        }
Пример #10
0
        public IHttpActionResult UserPaymentId(string userId, string orderId)
        {
            if (userId[0].ToString() == "\"")
            {
                userId = userId.Substring(1, userId.Length - 2);
            }
            if (orderId[0].ToString() == "\"")
            {
                orderId = orderId.Substring(1, orderId.Length - 2);
            }

            using (SecurityUserRepository secRepo = new SecurityUserRepository())
            {
                return(Ok(secRepo.UpdatePayment(userId, orderId)));
            }
        }
Пример #11
0
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var allowedOrigin = context.OwinContext.Get <string>("as:clientAllowedOrigin");

            if (allowedOrigin == null)
            {
                allowedOrigin = "*";
            }

            context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { allowedOrigin });



            /*** Replace below user authentication code as per your Entity Framework Model ****/
            SecurityUser secUserModel = new SecurityUser();

            using (SecurityUserRepository obj = new SecurityUserRepository())
            {
                secUserModel = obj.GetBy(context.UserName, context.Password);
                if (secUserModel == null)
                {
                    context.SetError("invalid_grant",
                                     OperationLP.InvalidUserNamePassword);
                    return;
                }
            }


            ClaimsIdentity oAuthIdentity =
                new ClaimsIdentity(context.Options.AuthenticationType);
            ClaimsIdentity cookiesIdentity =
                new ClaimsIdentity(context.Options.AuthenticationType);

            Claim newClaim = new Claim(ClaimTypes.Role, secUserModel.SecurityUserRole.FirstOrDefault().SecurityRole.RoleNameE);

            newClaim.Properties.Add(new KeyValuePair <string, string>("UserId", secUserModel.Id.ToString()));
            oAuthIdentity.AddClaim(new Claim("UserId", secUserModel.Id.ToString()));
            oAuthIdentity.AddClaim(newClaim);
            //  oAuthIdentity.AddClaim(new Claim(ClaimTypes.Role, "Supervisor"));

            AuthenticationProperties properties = CreateProperties(context.UserName);
            AuthenticationTicket     ticket     =
                new AuthenticationTicket(oAuthIdentity, properties);

            context.Validated(ticket);
            context.Request.Context.Authentication.SignIn(cookiesIdentity);
        }
Пример #12
0
        public bool checkSecurityUser(string UserID, int subSystemID)
        {
            bool objResult = false;

            objSecurityUser = new SecurityUserRepository();

            if (objSecurityUser.GetAll(x => x.SubSystemID.Equals(subSystemID) && x.UserID.Equals(UserID)).Count() > 0)
            {
                objResult = true;
            }
            else
            {
                objResult = false;
            }

            return objResult;
        }
Пример #13
0
        public ActionResult loadData(String searchtoken)
        {
            SecurityUserRepository areaProxy = new SecurityUserRepository();

            // get start (paging start index) and length (page size for pagging)
            var draw   = Request.Form.GetValues("draw").FirstOrDefault();
            var start  = Request.Form.GetValues("start").FirstOrDefault();
            var length = Request.Form.GetValues("length").FirstOrDefault();
            // get sort columns value
            var sortColumn =
                Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() +
                                       "][name]").FirstOrDefault();
            var sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();
            int pageSize      = length != null?Convert.ToInt32(length) : 0;

            int skip = start != null?Convert.ToInt32(start) : 0;

            var v = areaProxy.get(skip, pageSize, searchtoken, sortColumn, sortColumnDir)
                    .Distinct().ToList();//.OrderBy(sortColumn + " " + sortColumnDir)

            int totalRecords = areaProxy.Getcount(searchtoken);
            var toSerialize  = new
            {
                draw            = draw,
                recordsFiltered = totalRecords,
                recordsTotal    = totalRecords,

                data = v.Select(r => new
                {
                    r.Id,
                    Name  = r.FullName,
                    Idstr = r.IdString,
                    Email = r.Email,
                    r.Telephone
                }).AsQueryable()
            };

            var test = Json(
                toSerialize,
                JsonRequestBehavior.AllowGet);

            return(test);
        }
Пример #14
0
        public ActionResult IndexPost(LoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                #region prepare login model
                model.Password = model.Password;
                model.UserName = model.UserName.Trim();

                using (SecurityUserRepository secProxy = new SecurityUserRepository())
                {
                    Fly.DomainModel.SecurityUser currentUser = secProxy.GetUser(model.UserName.Trim(), WebUiUtility.Encrypt(model.Password));

                    if (currentUser != null)
                    {
                        WebUiUtility.CurrentUser = currentUser;
                        string tocken = "";

                        WebUiUtility.CurrentUser = currentUser;

                        FormsAuthentication.SetAuthCookie(model.UserName + ":" + tocken, model.RememberMe);
                        // RedirectToAction("index", "Home");
                        return(Json(new { success = true, message = "Incorrect user name or password", forgotpassword = ViewBag.forgotpassword }));
                    }
                    else
                    {
                        return(Json(new { success = false, message = "Incorrect user name or password", forgotpassword = ViewBag.forgotpassword }));
                    }
                }
            }
            else
            {
                return(Json(new { success = false, message = "Incorrect user name or password", forgotpassword = ViewBag.forgotpassword }));
            }

            #endregion
        }
Пример #15
0
        public IHttpActionResult PeymentGet()
        {
            try
            {
                // logger.Info("start 2 ");

                var bodyStream = new StreamReader(HttpContext.Current.Request.InputStream);
                bodyStream.BaseStream.Seek(0, SeekOrigin.Begin);
                var bodyText = bodyStream.ReadToEnd();
                //   logger.Info("Body 2:" + bodyText);
                if (!string.IsNullOrEmpty(bodyText))
                {
                    using (TempRepository bb = new TempRepository())
                    {
                        bb.AddUpdate(new DomainModel.TempStatus()
                        {
                            DataStr     = "Get " + bodyText,
                            CreatedDate = DateTime.Now
                        });
                    }

                    WeAcceptTockenModelContainer returnObj = JsonConvert.DeserializeObject <WeAcceptTockenModelContainer>(bodyText);

                    if (returnObj.obj != null)
                    {
                        if (!string.IsNullOrEmpty(returnObj.obj.token))
                        {
                            using (SecurityUserRepository secRepo = new SecurityUserRepository())
                            {
                                secRepo.UpdatePaymentTocken(returnObj.obj.token, returnObj.obj.order_id);
                            }
                        }
                    }


                    WeAcceptRootObject returnMainObj = JsonConvert.DeserializeObject <WeAcceptRootObject>(bodyText);
                    if (returnMainObj.obj != null)
                    {
                        if (returnMainObj.obj.order != null)
                        {
                            logger.Info("obj.order.id : " + returnMainObj.obj.order.id.ToString());
                            logger.Info("obj.success : " + returnMainObj.obj.success);
                            logger.Info("obj.id : " + returnMainObj.obj.id.ToString());
                            using (SecurityUserRepository secRepo = new SecurityUserRepository())
                            {
                                if (returnMainObj.obj.success == true)
                                {
                                    secRepo.UpdatePaymentDone(returnMainObj.obj.order.id.ToString());
                                    secRepo.UpdateRefundOrderId(returnMainObj.obj.id.ToString(), returnMainObj.obj.order.id.ToString());
                                }
                            }
                        }
                    }



                    return(Ok("1 EGP has been successfully deducted from your card, please return to rabbit."));
                }
                else
                {
                    return(Ok("1 EGP has been successfully deducted from your card, please return to rabbit."));
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message + " > " + ex.InnerException?.Message + " > " + ex.StackTrace);
                return(Ok("Pending payment, Please try again if not success"));
            }
        }
Пример #16
0
        public IHttpActionResult Subscription(SubscriptionModel data)
        {
            int userId = GetUserId();

            if (userId == 0)
            {
                reqResponse.ErrorMessages.Add("noUser", "Invalid Data");
                return(Ok(reqResponse));
            }

            using (SecurityUserRepository secUserRepo = new SecurityUserRepository())
            {
                var currentUser = secUserRepo.GetById(userId);
                //data.Name = "ddd";
                //data.PhoneNumber = 2525;
                data.Name        = currentUser.FullName;
                data.PhoneNumber = int.Parse(currentUser.Telephone);
            }

            data.riderId = userId;

            if (string.IsNullOrEmpty(data.Name) || string.IsNullOrEmpty(data.PhoneNumber.ToString()) || data.PhoneNumber <= 0 || string.IsNullOrEmpty(data.Location) || string.IsNullOrEmpty(data.DateTimeStr))
            {
                reqResponse.ErrorMessages.Add("invalidD", "Invalid Data");

                return(Ok(reqResponse));
            }

            data.DateTimeStr = data.DateTimeStr;// + " " + data.TimeStr;

            if (!string.IsNullOrEmpty(data.PromoCodeName))
            {
                using (PromoCodeRepository promoRepo = new PromoCodeRepository())
                {
                    DomainModel.PromoCode promoCode = promoRepo.GetByName(data.PromoCodeName);
                    if (promoCode != null)
                    {
                        if (promoCode.IsDeleted != true)
                        {
                            data.PromoCodeId = promoCode.Id;
                        }
                    }


                    // return Ok(reqResponse);
                }
            }

            DateTime tempDate = new DateTime();

            try
            {
                tempDate = DateTime.ParseExact(data.DateTimeStr, "dd/MM/yyyy hh:mm tt", CultureInfo.InvariantCulture);
            }
            catch (Exception)
            {
                tempDate = DateTime.ParseExact(data.DateTimeStr, "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture);
            }
            //DateTime ddd = DateTime.ParseExact(data.DateTimeStr,"dd/MM/yyyy hh:mm tt", CultureInfo.InvariantCulture);
            using (SubscriptionRepository subscriptionRepo = new SubscriptionRepository())
            {
                return(Ok(
                           subscriptionRepo.AddUpdate(new DomainModel.SubscriptionV()
                {
                    Name = data.Name,
                    PhoneNumber = data.PhoneNumber,
                    LocationStr = data.Location,
                    Lat = data.Lat,
                    Lng = data.Lng,
                    PickDateTime = tempDate,
                    DaysCount = data.DaysCount,
                    PromoCodeId = data.PromoCodeId,
                    UserId = data.riderId,
                    PayMobId = data.PayMobId
                })
                           ));
            }
        }