コード例 #1
0
        private void InsertCustomerGoogle(Base.Customer cus)
        {
            var obj = customerDA.GetByidUserGoogle(cus.idUserGoogle);

            if (obj == null)
            {
                customerDA.Add(cus);
                customerDA.Save();
            }
        }
コード例 #2
0
        private void InsertCustomerFacebook(Base.Customer cus)
        {
            var obj = customerDA.GetByidUserFacebook(cus.idUserFacebook);

            if (obj == null)
            {
                customerDA.Add(cus);
                customerDA.Save();
            }
        }
コード例 #3
0
        private void InsertCustomerZalo(Base.Customer cus)
        {
            var obj = customerDA.GetbyidUserZalo(cus.idUserZalo);

            if (obj == null)
            {
                customerDA.Add(cus);
                customerDA.Save();
            }
            else
            {
                obj = cus;
                customerDA.Save();
            }
        }
コード例 #4
0
        public ActionResult Add(string key, string json)
        {
            var model = new Base.Customer();
            var msg   = new JsonMessage(false, "Thêm mới dữ liệu thành công.");

            try
            {
                UpdateModel(model);
                var birth    = Request["Birthday_"];
                var parent   = Request["Parent"];
                var serial   = Request["CardSerial"];
                var pin      = Request["PinCard"];
                var NoteCate = Request["NoteCate"];
                if (!string.IsNullOrEmpty(serial))
                {
                    var carditem = _da.GetCardItem(serial, pin);
                    model.CardID = carditem.ID;
                }
                model.FullName     = HttpUtility.UrlDecode(model.FullName);
                model.Address      = HttpUtility.UrlDecode(model.Address);
                model.Birthday     = birth.StringToDecimal();
                model.DateCreated  = ConvertDate.TotalSeconds(DateTime.Now);
                model.IsDelete     = false;
                model.IsActive     = true;
                model.PasswordSalt = FDIUtils.CreateSaltKey(5);
                model.PassWord     = FDIUtils.CreatePasswordHash(model.PassWord ?? "fdi123456", model.PasswordSalt);
                if (!string.IsNullOrEmpty(NoteCate))
                {
                    var customerCare = new Customer_Care
                    {
                        Note     = HttpUtility.UrlDecode(NoteCate),
                        AgencyId = Agencyid()
                    };
                    model.Customer_Care.Add(customerCare);
                }
                _da.Add(model);
                _da.Save();
            }
            catch (Exception ex)
            {
                msg.Erros   = true;
                msg.Message = "Dữ liệu chưa được thêm mới";
                Log2File.LogExceptionToFile(ex);
            }
            return(Json(msg, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
        public ActionResult Register(CustomerItem customer)
        {
            var objr = new CustomerAppItem
            {
                Status = 0
            };

            try
            {
                if (!string.IsNullOrEmpty(customer.Phone) && !string.IsNullOrEmpty(customer.Password))
                {
                    if (_da.CheckUserName(customer.Phone))
                    {
                        return(Json(new BaseResponse <CustomerItem>()
                        {
                            Erros = true,
                            Message = "Số điện thoại đã tồn tại",
                        }, JsonRequestBehavior.AllowGet));
                    }
                    var daten            = DateTime.Now;
                    var date             = daten.TotalSeconds();
                    var saltKey          = FDIUtils.CreateSaltKey(5);
                    var sha1PasswordHash = FDIUtils.CreatePasswordHash(customer.Password, saltKey);

                    //get agencyinfo
                    var agencyDA = new AgencyDA();
                    var agency   = agencyDA.GetItem(customer.PhoneAgency);
                    var obj      = new Base.Customer
                    {
                        FullName     = customer.FullName,
                        Phone        = customer.Phone,
                        PasswordSalt = saltKey,
                        PassWord     = sha1PasswordHash,
                        UserName     = customer.UserName,
                        DateCreated  = date,
                        IsDelete     = false,
                        IsActive     = true,
                        Reward       = 0,
                        AgencyID     = agency?.ID
                    };
                    _da.Add(obj);
                    _da.Save();

                    IAuthContainerModel model = new JWTContainerModel()
                    {
                        Claims = new Claim[]
                        {
                            new Claim(ClaimTypes.Name, obj.UserName),
                            new Claim("ID", obj.ID.ToString()),
                        }
                    };

                    IAuthService authService = new JWTService();
                    var          token       = authService.GenerateToken(model);
                    var          result      = new BaseResponse <CustomerItem>()
                    {
                        Erros = false,
                        Data  = new CustomerItem()
                        {
                            FullName = obj.FullName,
                            Phone    = obj.Phone,
                            Token    = token
                        }
                    };

                    return(Json(result, JsonRequestBehavior.AllowGet));

                    var datee = daten.AddDays(5).TotalSeconds();
                    //var lg = new Ultils();
                    var code    = Ultils.CodeLogin(daten);
                    var dNlogin = new DN_Login
                    {
                        CustomerID  = obj.ID,
                        DateCreated = date,
                        DateEnd     = datee,
                        Code        = code,
                        IsOut       = false
                    };
                    _dl.Add(dNlogin);
                    _dl.Save();
                    objr = new CustomerAppItem
                    {
                        ID     = obj.ID,
                        Status = 1,
                    };
                }
            }
            catch (Exception ex)
            {
                Log2File.LogExceptionToFile(ex);
            }
            return(Json(objr, JsonRequestBehavior.AllowGet));
        }
コード例 #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="key"></param>
        /// <param name="phone">UserName</param>
        /// <param name="mobile">SĐT3G</param>
        /// <param name="pass">Mật khẩu</param>
        /// <param name="address">Địa chỉ</param>
        /// <returns></returns>
        public ActionResult Addapp(string key, string phone, string mobile, string pass, string address, string name, int gid)
        {
            var objr = new CustomerAppItem
            {
                UserName = phone,
                Status   = 0
            };

            try
            {
                if (key == Keyapi && !string.IsNullOrEmpty(phone) && !string.IsNullOrEmpty(pass))
                {
                    if (_da.CheckUserName(phone))
                    {
                        return(Json(objr, JsonRequestBehavior.AllowGet));
                    }
                    var daten            = DateTime.Now;
                    var date             = daten.TotalSeconds();
                    var saltKey          = FDIUtils.CreateSaltKey(5);
                    var sha1PasswordHash = FDIUtils.CreatePasswordHash(pass, saltKey);
                    var obj = new Base.Customer
                    {
                        Address      = address,
                        FullName     = name,
                        GroupID      = gid,
                        Phone        = phone,
                        PasswordSalt = saltKey,
                        PassWord     = sha1PasswordHash,
                        UserName     = phone,
                        DateCreated  = date,
                        IsDelete     = false,
                        IsActive     = true,
                        Reward       = 0,
                    };
                    _da.Add(obj);
                    _da.Save();
                    var datee = daten.AddDays(5).TotalSeconds();
                    //var lg = new Ultils();
                    var code    = Ultils.CodeLogin(daten);
                    var dNlogin = new DN_Login
                    {
                        CustomerID  = obj.ID,
                        DateCreated = date,
                        DateEnd     = datee,
                        Code        = code,
                        IsOut       = false
                    };
                    _dl.Add(dNlogin);
                    _dl.Save();
                    objr = new CustomerAppItem
                    {
                        ID       = obj.ID,
                        UserName = phone,
                        Address  = address,
                        FullName = name,
                        Phone    = mobile,
                        Reward   = 0,
                        GroupID  = gid,
                        Status   = 1,
                    };
                }
            }
            catch (Exception ex)
            {
                Log2File.LogExceptionToFile(ex);
            }
            return(Json(objr, JsonRequestBehavior.AllowGet));
        }
コード例 #7
0
        public ActionResult ZaloCallback(string accesstoken)
        {
            try
            {
                var appId     = 3722523456944291775;
                var appSecret = "MU1RP7QQ6k8ndjhPNqdj";

                if (!string.IsNullOrEmpty(accesstoken))
                {
                    ZaloAppInfo      appInfo             = new ZaloAppInfo(appId, appSecret, "callbackUrl");
                    ZaloAppClient    appClient           = new ZaloAppClient(appInfo);
                    JObject          me                  = appClient.getProfile(accesstoken, "fields=a,name,id,birthday,gender,phone,picture");
                    var              output              = JsonConvert.SerializeObject(me);
                    ZaloCustomerItem deserializedProduct = JsonConvert.DeserializeObject <ZaloCustomerItem>(output);
                    if (string.IsNullOrEmpty(deserializedProduct.error))
                    {
                        var cus = new Base.Customer
                        {
                            UserName    = deserializedProduct.name,
                            FullName    = deserializedProduct.name,
                            DateCreated = DateTime.Now.TotalSeconds(),
                            IsActive    = true,
                            IsDelete    = false,
                            idUserZalo  = deserializedProduct.id,
                            AvatarUrl   = deserializedProduct.picture.data.url,
                        };

                        InsertCustomerZalo(cus);
                        var customer = customerDA.GetbyidUserZalo(cus.idUserZalo);
                        var key      = Guid.NewGuid();
                        IAuthContainerModel model = new JWTContainerModel()
                        {
                            Claims = new Claim[]
                            {
                                new Claim(type: "Phone", value: customer.Mobile ?? ""),
                                new Claim(type: "Type", value: "Token"),
                                new Claim(type: "ID", value: customer.ID.ToString()),
                            },
                            ExpireMinutes = 10,
                        };
                        IAuthContainerModel modelRefreshToken = new JWTContainerModel()
                        {
                            Claims = new Claim[]
                            {
                                new Claim(type: "Phone", value: customer.Mobile ?? ""),
                                new Claim(type: "Type", value: "RefreshToken"),
                                new Claim(type: "key", value: key.ToString()),
                                new Claim(type: "ID", value: customer.ID.ToString()),
                            },
                            ExpireMinutes = 60 * 24 * 30,
                        };
                        var tokenResponse = JWTService.Instance.GenerateToken(model: model);
                        var refreshToken  = JWTService.Instance.GenerateToken(model: modelRefreshToken);
                        customerDA.InsertToken(data: new TokenRefresh()
                        {
                            GuidId = key
                        });
                        customerDA.Save();
                        return(Json(data: new BaseResponse <CustomerAppIG4Item>()
                        {
                            Code = 200, Erros = false, Message = "", Data = new CustomerAppIG4Item()
                            {
                                Token = tokenResponse, RefreshToken = refreshToken, ID = customer.ID
                            }
                        }, behavior: JsonRequestBehavior.AllowGet));
                    }
                    return(Json(data: new { Code = deserializedProduct.error, Erros = true, Message = "Có lỗi xảy ra vui lòng xem lại mã lỗi" }, behavior: JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                return(Redirect("/"));
            }
            return(Redirect("/"));
        }
コード例 #8
0
        public ActionResult GoogleCallback(string accesstoken, string token)
        {
            Userclass userinfo = new Userclass();

            try
            {
                string     url     = "https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=" + accesstoken + "";
                WebRequest request = WebRequest.Create(url);
                request.Credentials = CredentialCache.DefaultCredentials;
                WebResponse  response           = request.GetResponse();
                Stream       dataStream         = response.GetResponseStream();
                StreamReader reader             = new StreamReader(dataStream);
                string       responseFromServer = reader.ReadToEnd();
                reader.Close();
                response.Close();
                JavaScriptSerializer js = new JavaScriptSerializer();

                userinfo = js.Deserialize <Userclass>(responseFromServer);

                var cus = new Base.Customer
                {
                    Email        = userinfo.email,
                    UserName     = userinfo.email,
                    FullName     = userinfo.family_name + " " + userinfo.given_name + " " + userinfo.name,
                    DateCreated  = DateTime.Now.TotalSeconds(),
                    IsActive     = true,
                    IsDelete     = false,
                    idUserGoogle = userinfo.id,
                    AvatarUrl    = userinfo.picture,
                    TokenDevice  = token,
                };

                InsertCustomerGoogle(cus);
                var customer = customerDA.GetByidUserGoogle(cus.idUserGoogle);
                var key      = Guid.NewGuid();
                IAuthContainerModel model = new JWTContainerModel()
                {
                    Claims = new Claim[]
                    {
                        new Claim(type: "Phone", value: customer.Mobile ?? ""),
                        new Claim(type: "Type", value: "Token"),
                        new Claim(type: "ID", value: customer.ID.ToString()),
                    },
                    ExpireMinutes = 10,
                };
                IAuthContainerModel modelRefreshToken = new JWTContainerModel()
                {
                    Claims = new Claim[]
                    {
                        new Claim(type: "Phone", value: customer.Mobile ?? ""),
                        new Claim(type: "Type", value: "RefreshToken"),
                        new Claim(type: "key", value: key.ToString()),
                        new Claim(type: "ID", value: customer.ID.ToString()),
                    },
                    ExpireMinutes = 60 * 24 * 30,
                };
                var tokenResponse = JWTService.Instance.GenerateToken(model: model);
                var refreshToken  = JWTService.Instance.GenerateToken(model: modelRefreshToken);
                customerDA.InsertToken(data: new TokenRefresh()
                {
                    GuidId = key
                });
                customerDA.Save();
                return(Json(data: new BaseResponse <CustomerAppIG4Item>()
                {
                    Code = 200, Erros = false, Message = "", Data = new CustomerAppIG4Item()
                    {
                        Token = tokenResponse, RefreshToken = refreshToken
                    }
                }, behavior: JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Redirect("/"));
            }

            return(Redirect("/"));
        }
コード例 #9
0
        public ActionResult FacebookCallback(string accesstoken, string token)
        {
            try
            {
                var fb = new FacebookClient();
                if (!string.IsNullOrEmpty(accesstoken))
                {
                    fb.AccessToken = accesstoken;
                    dynamic me  = fb.Get("me?fields=first_name,middle_name,last_name,id,email");
                    var     cus = new Base.Customer
                    {
                        Email          = me.email,
                        UserName       = me.email,
                        FullName       = me.first_name + me.middle_name + me.last_name,
                        DateCreated    = DateTime.Now.TotalSeconds(),
                        IsActive       = true,
                        IsDelete       = false,
                        idUserFacebook = me.id,
                        TokenDevice    = token,
                    };
                    //dynamic pic = fb.Get(me.id+"/picture");

                    InsertCustomerFacebook(cus);
                    var customer = customerDA.GetByidUserFacebook(cus.idUserFacebook);
                    var key      = Guid.NewGuid();
                    IAuthContainerModel model = new JWTContainerModel()
                    {
                        Claims = new Claim[]
                        {
                            new Claim(type: "Phone", value: customer.Mobile ?? ""),
                            new Claim(type: "Type", value: "Token"),
                            new Claim(type: "ID", value: customer.ID.ToString()),
                        },
                        ExpireMinutes = 10,
                    };
                    IAuthContainerModel modelRefreshToken = new JWTContainerModel()
                    {
                        Claims = new Claim[]
                        {
                            new Claim(type: "Phone", value: customer.Mobile ?? ""),
                            new Claim(type: "Type", value: "RefreshToken"),
                            new Claim(type: "key", value: key.ToString()),
                            new Claim(type: "ID", value: customer.ID.ToString()),
                        },
                        ExpireMinutes = 60 * 24 * 30,
                    };
                    var tokenResponse = JWTService.Instance.GenerateToken(model: model);
                    var refreshToken  = JWTService.Instance.GenerateToken(model: modelRefreshToken);
                    customerDA.InsertToken(data: new TokenRefresh()
                    {
                        GuidId = key
                    });
                    customerDA.Save();
                    return(Json(data: new BaseResponse <CustomerAppIG4Item>()
                    {
                        Code = 200, Erros = false, Message = "", Data = new CustomerAppIG4Item()
                        {
                            Token = tokenResponse, RefreshToken = refreshToken, ID = customer.ID
                        }
                    }, behavior: JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                return(Redirect("/"));
            }
            return(Redirect("/"));
        }