Ejemplo n.º 1
0
        public bool Exec(LocalNetwork network, DtoAuthenticatedUser au, string pesquisa, ref DtoUserList dto)
        {
            try
            {
                using (var db = GetConnection(network))
                {
                    var lstClient = repository.GetUsers(db, "%" + pesquisa + "%");

                    dto.total   = lstClient.Count;
                    dto.results = lstClient;

                    foreach (var item in dto.results)
                    {
                        // extra processing
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                Error = new DtoServiceError
                {
                    message   = getLanguage("0", 0),
                    debugInfo = ex.ToString()
                };

                return(false);
            }
        }
Ejemplo n.º 2
0
        public bool Exec(LocalNetwork network, long id, ref DtoBrand dto)
        {
            try
            {
                using (var db = GetConnection(network))
                {
                    var u = repository.GetBrand(db, id);

                    dto = new DtoBrand
                    {
                        id   = u.id,
                        name = u.stName
                    };
                }

                return(true);
            }
            catch (Exception ex)
            {
                Error = new DtoServiceError
                {
                    message   = getLanguage("0", 0),
                    debugInfo = ex.ToString()
                };

                return(false);
            }
        }
Ejemplo n.º 3
0
        public bool Exec(LocalNetwork network, DtoCheckNewSocial_ID obj)
        {
            try
            {
                using (var db = GetConnection(network))
                {
                    var user = repository.GetUserBySocial(db, obj.sID);

                    if (user != null)
                    {
                        Error = new DtoServiceError
                        {
                            message   = getLanguage(obj._language, 1),
                            debugInfo = "[1]"
                        };

                        return(false);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                Error = new DtoServiceError
                {
                    message   = getLanguage(obj._language, 0),
                    debugInfo = ex.ToString()
                };

                return(false);
            }
        }
Ejemplo n.º 4
0
        public bool Exec(LocalNetwork network, DtoCheckToken obj)
        {
            try
            {
                using (var db = GetConnection(network))
                {
                    var user = repository.GetUserBySocial(db, obj.sID);

                    if (user == null)
                    {
                        Error = new DtoServiceError
                        {
                            message   = getLanguage(obj._language, 1),
                            debugInfo = "[1]"
                        };

                        return(false);
                    }

                    if (user.stToken != obj.sToken)
                    {
                        Error = new DtoServiceError
                        {
                            message   = getLanguage(obj._language, 2),
                            debugInfo = "[1]"
                        };

                        return(false);
                    }

                    if (DateTime.Now > user.dtTokenExpires)
                    {
                        Error = new DtoServiceError
                        {
                            message   = getLanguage(obj._language, 3),
                            debugInfo = "[1]"
                        };

                        return(false);
                    }

                    user.bTokenized = true;

                    repository.UpdateUser(db, user);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Error = new DtoServiceError
                {
                    message   = getLanguage(obj._language, 0),
                    debugInfo = ex.ToString()
                };

                return(false);
            }
        }
Ejemplo n.º 5
0
        public bool Exec(LocalNetwork network, DtoPasswordRecovery obj)
        {
            try
            {
                if (String.IsNullOrEmpty(obj.email))
                {
                    Error = new DtoServiceError
                    {
                        message   = getLanguage(obj._language, 4),
                        debugInfo = "[1]"
                    };

                    return(false);
                }

                var email = obj.email.ToLower();

                using (var db = GetConnection(network))
                {
                    var user = repository.GetUserByEmail(db, email);

                    if (user == null)
                    {
                        Error = new DtoServiceError
                        {
                            message   = getLanguage(obj._language, 1),
                            debugInfo = "[1]"
                        };

                        return(false);
                    }

                    SendEmail(email,
                              getLanguage(obj._language, 2),
                              getLanguage(obj._language, 3) + user.stPassword);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Error = new DtoServiceError
                {
                    message   = getLanguage(obj._language, 0),
                    debugInfo = ex.ToString()
                };

                return(false);
            }
        }
Ejemplo n.º 6
0
        public bool Exec(LocalNetwork network, DtoResendToken obj)
        {
            try
            {
                using (var db = GetConnection(network))
                {
                    var user = repository.GetUserBySocial(db, obj.sID);

                    if (user == null)
                    {
                        Error = new DtoServiceError
                        {
                            message   = getLanguage(obj._language, 1),
                            debugInfo = "[1]"
                        };

                        return(false);
                    }



                    var token = "";
                    var rnd   = new Random();
                    for (int i = 0; i < 4; i++)
                    {
                        token += rnd.Next(0, 9);
                        Thread.Sleep(1);
                    }

                    user.stToken = token;

                    repository.UpdateUser(db, user);

                    SendEmail(user.stEmail, getLanguage(obj._language, 2), getLanguage(obj._language, 3) + token);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Error = new DtoServiceError
                {
                    message   = getLanguage(obj._language, 0),
                    debugInfo = ex.ToString()
                };

                return(false);
            }
        }
Ejemplo n.º 7
0
        bool ValidadeRequest(DtoBrandListing dto)
        {
            #region - code -

            if (dto.page == null)
            {
                Error = new DtoServiceError {
                    message = getLanguage(dto._language, 1)
                };
                return(false);
            }

            if (dto.page < 0)
            {
                Error = new DtoServiceError {
                    message = getLanguage(dto._language, 1)
                };
                return(false);
            }

            if (dto.pageSize == null)
            {
                Error = new DtoServiceError {
                    message = getLanguage(dto._language, 1)
                };
                return(false);
            }

            if (dto.pageSize <= 20)
            {
                Error = new DtoServiceError {
                    message = getLanguage(dto._language, 1)
                };
                return(false);
            }

            if (dto.orderBy == null || dto.orderBy > 2 || dto.orderBy < 1)
            {
                Error = new DtoServiceError {
                    message = getLanguage(dto._language, 1)
                };
                return(false);
            }

            return(true);

            #endregion
        }
Ejemplo n.º 8
0
        bool ValidadeRequest(DtoLoginInformation dto)
        {
            if (string.IsNullOrEmpty(dto.email))
            {
                Error = new DtoServiceError {
                    message = getLanguage(dto._language, 1)
                };
                return(false);
            }

            if (string.IsNullOrEmpty(dto.password))
            {
                Error = new DtoServiceError {
                    message = getLanguage(dto._language, 1)
                };
                return(false);
            }

            return(true);
        }
Ejemplo n.º 9
0
        bool ValidadeRequest(DtoOnboarding dto)
        {
            #region - code -

            if (string.IsNullOrEmpty(dto.sID))
            {
                Error = new DtoServiceError {
                    message = getLanguage(dto._language, 1)
                };
                return(false);
            }

            if (string.IsNullOrEmpty(dto.sEmail))
            {
                Error = new DtoServiceError {
                    message = getLanguage(dto._language, 2)
                };
                return(false);
            }

            if (string.IsNullOrEmpty(dto.sName))
            {
                Error = new DtoServiceError {
                    message = getLanguage(dto._language, 3)
                };
                return(false);
            }

            if (string.IsNullOrEmpty(dto.sPass))
            {
                Error = new DtoServiceError {
                    message = getLanguage(dto._language, 4)
                };
                return(false);
            }

            return(true);

            #endregion
        }
Ejemplo n.º 10
0
        public bool Exec(LocalNetwork network, DtoAuthenticatedUser au, long id, ref User dto)
        {
            try
            {
                using (var db = GetConnection(network))
                {
                    dto = repository.GetUser(db, id);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Error = new DtoServiceError
                {
                    message   = getLanguage("0", 0),
                    debugInfo = ex.ToString()
                };

                return(false);
            }
        }
Ejemplo n.º 11
0
        public bool Exec(LocalNetwork network, DtoOnboarding dto)
        {
            if (!ValidadeRequest(dto))
            {
                return(false);
            }

            try
            {
                //prep
                dto.sEmail = dto.sEmail.ToLower().Trim();
                dto.sID    = dto.sID.ToLower().Trim();
                dto.sName  = dto.sName.ToLower().Trim();

                using (var db = GetConnection(network))
                {
                    var user = repository.GetUserByEmail(db, dto.sEmail);

                    if (user != null)
                    {
                        Error = new DtoServiceError
                        {
                            message   = getLanguage(dto._language, 5),
                            debugInfo = "[1]"
                        };

                        return(false);
                    }

                    user = repository.GetUserBySocial(db, dto.sID);

                    if (user != null)
                    {
                        Error = new DtoServiceError
                        {
                            message   = getLanguage(dto._language, 6),
                            debugInfo = "[1]"
                        };

                        return(false);
                    }

                    var rnd   = new Random();
                    var token = "";
                    for (int i = 0; i < 4; i++)
                    {
                        token += rnd.Next(0, 9);
                        Thread.Sleep(33);
                    }

                    repository.InsertUser(db, new Infra.Entity.Database.User
                    {
                        bAdmin      = false,
                        bActive     = true,
                        bTokenized  = false,
                        dtCreation  = DateTime.Now,
                        dtLastLogin = null,
                        stEmail     = dto.sEmail,
                        stName      = dto.sName,
                        stPassword  = dto.sPass,
                        stSocialID  = dto.sID,
                        stToken     = token,
                    });

                    SendEmail(dto.sEmail.ToLower(), "Onboarding", "Token: " + token);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Error = new DtoServiceError
                {
                    message   = getLanguage(dto._language, 0),
                    debugInfo = ex.ToString()
                };

                return(false);
            }
        }
Ejemplo n.º 12
0
        public bool Exec(LocalNetwork network, DtoBrandListing request, ref DtoBrandListingResult ret)
        {
            try
            {
                if (!ValidadeRequest(request))
                {
                    return(false);
                }

                using (var db = GetConnection(network))
                {
                    var tagCache = GetCacheTag(request);
                    var cacheOn  = !string.IsNullOrEmpty(network.cacheServer);

                    if (cacheOn)
                    {
                        var result = GetCachedData(tagCache, network.cacheServer, 1);
                        if (result != null)
                        {
                            ret = JsonConvert.DeserializeObject <DtoBrandListingResult>(result);
                            return(true);
                        }
                    }

                    int total = 0;
                    var lst   = adminRepository.GetBrands(db,
                                                          request.tag,
                                                          (int)request.page,
                                                          (int)request.pageSize,
                                                          (int)request.orderBy,
                                                          ref total);

                    ret.totalRecords = total;
                    ret.results      = new List <DtoBrand>();

                    for (int i = 0; i < lst.Count; i++)
                    {
                        var item = lst[i];
                        ret.results.Add(new DtoBrand
                        {
                            id   = item.id,
                            name = item.stName,
                        });
                    }

                    if (cacheOn)
                    {
                        var retStr = System.Text.Json.JsonSerializer.Serialize(ret);
                        UpdateCachedData(tagCache, retStr, network.cacheServer, 1);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                Error = new DtoServiceError
                {
                    message   = getLanguage(0, 0),
                    debugInfo = ex.ToString()
                };

                return(false);
            }
        }
Ejemplo n.º 13
0
        public bool Exec(LocalNetwork network, DtoLoginInformation dto, ref DtoAuthenticatedUser loggedUser)
        {
            try
            {
                if (!ValidadeRequest(dto))
                {
                    return(false);
                }

                using (var db = GetConnection(network))
                {
                    dto.email = dto.email.Trim().ToLower();

                    var user = repository.GetUserByEmail(db, dto.email);

                    if (user == null)
                    {
                        Error = new DtoServiceError
                        {
                            message   = getLanguage(dto._language, 1),
                            debugInfo = "user == null"
                        };

                        return(false);
                    }

                    if (user.stPassword != dto.password)
                    {
                        Error = new DtoServiceError
                        {
                            message   = getLanguage(dto._language, 1),
                            debugInfo = "user.stSenha != login.senha"
                        };

                        return(false);
                    }

                    if (user.bActive != true)
                    {
                        Error = new DtoServiceError
                        {
                            message   = getLanguage(dto._language, 1),
                            debugInfo = "!user.bActive"
                        };

                        return(false);
                    }

                    if (user.bTokenized != true)
                    {
                        Error = new DtoServiceError
                        {
                            message   = getLanguage(dto._language, 1),
                            debugInfo = "!user.bActive"
                        };

                        return(false);
                    }

                    user.dtLastLogin = DateTime.Now;

                    repository.UpdateUser(db, user);

                    loggedUser._id   = user.id.ToString();
                    loggedUser.email = user.stEmail;
                    loggedUser.login = user.stName;
                }

                return(true);
            }
            catch (Exception ex)
            {
                Error = new DtoServiceError
                {
                    message   = getLanguage(dto._language, 0),
                    debugInfo = ex.ToString()
                };

                return(false);
            }
        }
Ejemplo n.º 14
0
        public bool Exec(LocalNetwork network, DtoProductListing request, ref DtoProductListingResult ret)
        {
            try
            {
                if (!ValidadeRequest(request))
                {
                    return(false);
                }

                using (var db = GetConnection(network))
                {
                    var tagCache = GetCacheTag(request);
                    var cacheOn  = !string.IsNullOrEmpty(network.cacheServer);

                    if (cacheOn)
                    {
                        var result = GetCachedData(tagCache, network.cacheServer, 1);
                        if (result != null)
                        {
                            ret = JsonConvert.DeserializeObject <DtoProductListingResult>(result);
                            return(true);
                        }
                    }

                    int total = 0;
                    var lst   = repository.GetProducts(db,
                                                       request.tag,
                                                       request.category,
                                                       (int)request.page,
                                                       (int)request.pageSize,
                                                       (int)request.orderBy,
                                                       ref total);

                    ret.totalRecords = total;
                    ret.results      = new List <DtoProduct>();

                    var threads = new List <int> {
                        1, 2
                    };
                    for (int i = 0; i < lst.Count; i++)
                    {
                        var item = lst[i];

                        var finalProd = new DtoProduct
                        {
                            name   = item.stName,
                            serial = "45445454564456546546"
                        };

                        Parallel.ForEach(threads, th =>
                        {
                            switch (th)
                            {
                            case 1:
                                {
                                    #region - brand -

                                    if (cacheOn)
                                    {
                                        var tagCache_brand = "Brand_" + item.fkBrand;
                                        var result         = GetCachedData(tagCache_brand, network.cacheServer, 10);

                                        if (result != null)
                                        {
                                            var brandCache  = JsonConvert.DeserializeObject <Brand>(result);
                                            finalProd.brand = brandCache.stName;
                                        }
                                        else
                                        {
                                            using (var db_brand = GetConnection(network))
                                            {
                                                var brandCache  = adminRepository.GetBrand(db_brand, item.fkBrand);
                                                finalProd.brand = brandCache.stName;

                                                var retStr = System.Text.Json.JsonSerializer.Serialize(brandCache);
                                                UpdateCachedData(tagCache_brand, retStr, network.cacheServer, 10);
                                            }
                                        }
                                    }
                                    else
                                    {
                                        using (var db_brand = GetConnection(network))
                                        {
                                            var brandDB     = adminRepository.GetBrand(db_brand, item.fkBrand);
                                            finalProd.brand = brandDB.stName;
                                        }
                                    }

                                    #endregion

                                    break;
                                }

                            case 2:
                                {
                                    #region - category -

                                    if (cacheOn)
                                    {
                                        var tagCache_Categ = "Category_" + item.fkCategory;
                                        var result         = GetCachedData(tagCache_Categ, network.cacheServer, 10);

                                        if (result != null)
                                        {
                                            var brandCache  = JsonConvert.DeserializeObject <Category>(result);
                                            finalProd.brand = brandCache.stName;
                                        }
                                        else
                                        {
                                            using (var db_categ = GetConnection(network))
                                            {
                                                var categoryCache  = adminRepository.GetCategory(db_categ, item.fkCategory);
                                                finalProd.category = categoryCache.stName;

                                                var retStr = System.Text.Json.JsonSerializer.Serialize(categoryCache);
                                                UpdateCachedData(tagCache_Categ, retStr, network.cacheServer, 10);
                                            }
                                        }
                                    }
                                    else
                                    {
                                        using (var db_categ = GetConnection(network))
                                        {
                                            var categoryCache  = adminRepository.GetCategory(db_categ, item.fkCategory);
                                            finalProd.category = categoryCache.stName;
                                        }
                                    }

                                    #endregion

                                    break;
                                }
                            }
                        });

                        ret.results.Add(finalProd);
                    }

                    if (cacheOn)
                    {
                        var retStr = System.Text.Json.JsonSerializer.Serialize(ret);
                        UpdateCachedData(tagCache, retStr, network.cacheServer, 1);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                Error = new DtoServiceError
                {
                    message   = getLanguage(0, 0),
                    debugInfo = ex.ToString()
                };

                return(false);
            }
        }
Ejemplo n.º 15
0
        public bool Exec(LocalNetwork network, DtoOnboarding dto)
        {
            if (!ValidadeRequest(dto))
            {
                return(false);
            }

            try
            {
                dto.sEmail = dto.sEmail.ToLower().Trim();
                dto.sID    = dto.sID.ToLower().Trim();
                dto.sName  = dto.sName.ToLower().Trim();

                using (var db = GetConnection(network))
                {
#if MASSLOAD
                    User user = null;
#else
                    User user = repository.GetUserByEmail(db, dto.sEmail.ToLower().Trim());

                    if (user != null)
                    {
                        if (user.bTokenized == true)
                        {
                            Error = new DtoServiceError
                            {
                                message   = getLanguage(dto._language, 5),
                                debugInfo = "[1]"
                            };

                            return(false);
                        }
                    }

                    user = repository.GetUserBySocial(db, dto.sID);

                    if (user != null)
                    {
                        if (user.bTokenized == true)
                        {
                            Error = new DtoServiceError
                            {
                                message   = getLanguage(dto._language, 6),
                                debugInfo = "[2]"
                            };

                            return(false);
                        }
                    }
                    #endif

#if MASSLOAD
                    var token = "1234";
#else
                    var token = "";
                    var rnd   = new Random();
                    for (int i = 0; i < 4; i++)
                    {
                        token += rnd.Next(0, 9);
                        Thread.Sleep(33);
                    }
#endif

                    if (user == null)
                    {
                        user = new User
                        {
                            bAdmin         = false,
                            bActive        = true,
                            bTokenized     = false,
                            dtCreation     = DateTime.Now,
                            dtLastLogin    = null,
                            stEmail        = dto.sEmail,
                            stName         = dto.sName,
                            stPassword     = dto.sPass,
                            stSocialID     = dto.sID,
                            stToken        = token,
                            dtTokenExpires = DateTime.Now.AddSeconds(3 * 60),
                        };

#if MASSLOAD
                        user.bTokenized = true;
                        _sendEmail      = false;
#endif

                        user.compile();

                        repository.InsertUser(db, user);
                    }
                    else
                    {
                        user.bTokenized     = false;
                        user.stToken        = token;
                        user.dtTokenExpires = DateTime.Now.AddSeconds(3 * 60);

                        repository.UpdateUser(db, user);
                    }

                    SendEmail(dto.sEmail.ToLower(), "Onboarding", "Token: " + token);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Error = new DtoServiceError
                {
                    message   = getLanguage(dto._language, 0),
                    debugInfo = ex.ToString()
                };

                return(false);
            }
        }