Пример #1
0
        public ServiceResult <object> AutocompleteView(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tableName   = Util.GetSqlServerTableName <DataLayer.Model.Core.AccessGroup.AccessGroup>();
                var queryString =
                    "select * from (select EntityId,Name,FullTitle,code,CreateBy,AccessKey,Deleted from " +
                    tableName + "  where code <> 'ADMIN') e" +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, false, false, true)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                using (var unitOfWork = new UnitOfWork())
                {
                    var accessGroupList = unitOfWork.AccessGroup.CreateNativeQuery(queryString, x =>
                                                                                   new Dictionary <string, object>
                    {
                        { "entityId", Convert.ToInt64(x[0].ToString()) },
                        { "name", Convert.ToInt64(x[1].ToString()) },
                        { "fullTitle", Convert.ToInt64(x[2].ToString()) }
                    });
                    return(accessGroupList.Count == 0
                        ? new ServiceResult <object>(Enumerator.ErrorCode.NotFound, "رکوردی یافت نشد")
                        : new ServiceResult <object>(accessGroupList, accessGroupList.Count));
                }
            }
            catch (Exception ex)
            {
                return(ExceptionUtil.ExceptionHandler(ex, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
        public ServiceResult <object> DeletedList(BusinessParam bp, long roleId)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                using (var unitOfWork = new UnitOfWork())
                {
                    var accessGroups = unitOfWork.RoleAccessGroup.Get(p => p.Role == roleId).ToList();
                    foreach (var item in accessGroups)
                    {
                        unitOfWork.RoleAccessGroup.Delete(item);
                        Elastic <RoleAccessGroupDto, DataLayer.Model.Core.RoleAccessGroup.RoleAccessGroup> .SaveToElastic(
                            item, ClassDetails[0].Clazz, bp);
                    }

                    unitOfWork.UseCaseActionAccessGroup.Save();
                }

                return(new ServiceResult <object>(true, 1));
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #3
0
        public ServiceResult <object> ShowRow(BusinessParam bp)
        {
            var  methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";
            long entityId   = 0;

            foreach (var where in bp.Clause.Wheres.Where(where =>
                                                         where.Key.Equals("entityId") && where.Value != null && !where.Value.Equals("")))
            {
                entityId = long.Parse(where.Value);
            }

            try
            {
                if (entityId == 0)
                {
                    return(ExceptionUtil.ExceptionHandler("شناسه مورد نظر یافت نشد",
                                                          ClassDetails[0].Facade + methodName,
                                                          bp.UserInfo));
                }
                using (var content = new ParsiContext())
                {
                    var data = content.AccessGroup.Where(p => p.EntityId == entityId).Include(p => p.CreateUserEntity)
                               .Include(p => p.UpdateUserEntity).Include(p => p.ParentAccessGroupUseCaseActionAccessGroup)
                               .ThenInclude(p => p.CurrentUseCaseAction).ThenInclude(p => p.CurrentAction).IgnoreQueryFilters()
                               .ToList();
                    return(new ServiceResult <object>(Copier.GetDto(data[0]), 1));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #4
0
        public ServiceResult <object> AutocompleteView(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tableName   = Util.GetSqlServerTableName <DataLayer.Model.Core.UseCase.UseCase>();
                var queryString =
                    $"select * from (select EntityId as entityId,UseCaseName as useCaseName,Clazz as clazz,TableName as tableName,FullTitle as fullTitle,CreateBy as createBy,AccessKey as accessKey,Deleted as deleted from {tableName}) e" +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, false, false, true)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                using (var unitOfWork = new UnitOfWork())
                {
                    var useCaseList = unitOfWork.UseCase.CreateNativeQuery(queryString, x => new UseCaseDto
                    {
                        EntityId    = Convert.ToInt64(x[0].ToString()),
                        UseCaseName = x[1]?.ToString(),
                        Clazz       = x[2]?.ToString(),
                        TableName   = x[3]?.ToString(),
                        FullTitle   = x[4]?.ToString()
                    });
                    return(useCaseList.Count == 0
                        ? new ServiceResult <object>(Enumerator.ErrorCode.NotFound, "رکوردی یافت نشد")
                        : new ServiceResult <object>(useCaseList, useCaseList.Count));
                }
            }
            catch (Exception ex)
            {
                return(ExceptionUtil.ExceptionHandler(ex, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #5
0
        public ServiceResult <object> GridView(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tableName   = Util.GetSqlServerTableName <DataLayer.Model.Core.File.File>();
                var queryString = $"select * from (SELECT * FROM {tableName}) e" +
                                  QueryUtil.GetWhereClause(bp.Clause,
                                                           QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, false, false,
                                                                                                 true)) +
                                  QueryUtil.GetOrderByClause(bp.Clause);

                using (var content = new ParsiContext())
                {
                    var files = content.File.FromSqlRaw(queryString).OrderBy(x => x.Extension)
                                .ThenByDescending(x => x.Created).IgnoreQueryFilters().ToList();
                    var lstData = files.Select(file => Copier.GetDto(file)).ToList();
                    return(lstData.Count <= 0
                        ? new ServiceResult <object>(new List <FileDto>(), 0)
                        : new ServiceResult <object>(lstData, lstData.Count));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #6
0
        public ServiceResult <object> Save(BusinessParam bp, PersonDto dto)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                DataLayer.Model.Core.Person.Person person;
                if (dto.EntityId == 0)
                {
                    using (var unitOfWork = new UnitOfWork())
                    {
                        person = Copier.GetEntity(dto, bp, true);
                        unitOfWork.Person.Insert(person);
                        unitOfWork.Person.Save();
                    }
                }
                else
                {
                    using (var unitOfWork = new UnitOfWork())
                    {
                        person = Copier.GetEntity(dto, bp, false);
                        unitOfWork.Person.Update(person);
                        unitOfWork.Person.Save();
                    }
                }

                Elastic <PersonDto, DataLayer.Model.Core.Person.Person> .SaveToElastic(person, ClassDetails[0].Clazz, bp);

                return(new ServiceResult <object>(Copier.GetDto(person), 1));
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #7
0
        public async Task <IActionResult> Download(string file, BusinessParam bp, bool thumbnail)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var lastPoint   = file.LastIndexOf(".", StringComparison.Ordinal);
                var link        = file.Substring(0, lastPoint);
                var jsonFileDto = GetJsonDto(Encryption.Decryption(FileRepositoryFacade.ReplaceValidCharacter(link)));
                var fileDto     = GetFileFromDataBaseWithId(jsonFileDto.EntityId, null);
                var path        = bp.Environment.WebRootPath + fileDto.Path;
                if (thumbnail)
                {
                    var lastIndexOf = path.LastIndexOf(".", StringComparison.Ordinal);
                    var substring   = path.Substring(0, lastIndexOf);
                    substring += "_thumb" + path.Substring(lastIndexOf);
                    path       = substring;
                }

                var stream = new FileStream(path, FileMode.Open);
                return(new FileStreamResult(stream, FileRepositoryFacade.MimType[fileDto.Extension])
                {
                    FileDownloadName = fileDto.Name + "." + fileDto.Extension
                });
            }
            catch (Exception e)
            {
                ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, null);
                return(null);
            }
        }
Пример #8
0
        public ServiceResult <object> Delete(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                long entityId = 0;
                if (bp.Clause?.Wheres != null && bp.Clause.Wheres.Count > 0)
                {
                    foreach (var item in bp.Clause.Wheres.Where(item => item.Key.Equals("entityId")))
                    {
                        entityId = long.Parse(item.Value);
                    }
                }
                using (var unitOfWork = new UnitOfWork())
                {
                    var record = unitOfWork.File.GetRecord(entityId);
                    if (record == null)
                    {
                        return(new ServiceResult <object>(Enumerator.ErrorCode.NotFound, "فایل مورد نظر یافت نشد"));
                    }
                    record.Deleted = record.EntityId;
                    unitOfWork.File.Update(record);
                    unitOfWork.File.Save();
                    return(new ServiceResult <object>(Copier.GetDto(record), 1));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #9
0
        public ServiceResult <object> AutocompleteViewParent(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tableName   = Util.GetSqlServerTableName <DataLayer.Model.Core.ComboVal.ComboVal>();
                var queryString =
                    $"SELECT * FROM(SELECT e1.EntityId AS entityId,e1.Name AS name,e1.Value AS value,e1.code AS code,e2.Name AS parentName,e2.code AS parentCode,e1.Deleted,e1.FullTitle AS fullTitle,e1.AccessKey,e1.CreateBy FROM {tableName} e1 LEFT JOIN {tableName} e2 on e1.ParentId = e2.EntityId where e1.Deleted = 0 and e2.Deleted = 0) e" +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, false, false, true)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                using (var unitOfWork = new UnitOfWork())
                {
                    var comboList = unitOfWork.ComboVal.CreateNativeQuery(queryString, x => new ComboValDto
                    {
                        EntityId = Convert.ToInt64(x[0].ToString()),
                        Name     = x[1]?.ToString(),
                        Value    = x[2]?.ToString(),
                        Code     = x[3]?.ToString()
                    });
                    return(comboList.Count == 0
                        ? new ServiceResult <object>(Enumerator.ErrorCode.NotFound, "رکوردی یافت نشد")
                        : new ServiceResult <object>(comboList, comboList.Count));
                }
            }
            catch (Exception ex)
            {
                return(ExceptionUtil.ExceptionHandler(ex, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #10
0
        public ServiceResult <object> AutocompleteView(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tableName   = Util.GetSqlServerTableName <DataLayer.Model.Core.Person.Person>();
                var queryString =
                    $"select * from (select EntityId as entityId,FirstName as firstName,LastName as lastName,FullTitle as fullTitle,Deleted as deleted,AccessKey as accessKey,CreateBy as createBy from {tableName}) e" +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, true, false, true)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                using (var unitOfWork = new UnitOfWork())
                {
                    var personList = unitOfWork.Person.CreateNativeQuery(queryString, x =>
                                                                         new Dictionary <string, object>
                    {
                        { "entityId", Convert.ToInt64(x[0].ToString()) },
                        { "fullName", $"{x[1]} {x[2]}" },
                        { "firstName", $"{x[1]}" },
                        { "lastName", $"{x[2]}" },
                        { "fullTitle", x[3]?.ToString() }
                    });
                    return(personList.Count == 0
                        ? new ServiceResult <object>(Enumerator.ErrorCode.NotFound, "رکوردی یافت نشد")
                        : new ServiceResult <object>(personList, personList.Count));
                }
            }
            catch (Exception ex)
            {
                return(ExceptionUtil.ExceptionHandler(ex, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #11
0
        public static void GenerateSiteMap(string url, double priority, DateTime date, int frequencyId, string path)
        {
            try
            {
                var list = new List <SitemapNode>();
                var node = new SitemapNode
                {
                    Url          = url,
                    Priority     = priority,
                    LastModified = date
                };
                switch (frequencyId)
                {
                case 1:
                    node.Frequency = SitemapFrequency.Always;
                    break;

                case 2:
                    node.Frequency = SitemapFrequency.Daily;
                    break;

                case 3:
                    node.Frequency = SitemapFrequency.Hourly;
                    break;

                case 4:
                    node.Frequency = SitemapFrequency.Weekly;
                    break;

                case 5:
                    node.Frequency = SitemapFrequency.Monthly;
                    break;

                case 6:
                    node.Frequency = SitemapFrequency.Yearly;
                    break;

                case 7:
                    node.Frequency = SitemapFrequency.Never;
                    break;

                default:
                    node.Frequency = SitemapFrequency.Always;
                    break;
                }

                list.Add(node);
                new SitemapDocument().CreateSitemapXML(list, path);
            }
            catch (Exception ex)
            {
                ExceptionUtil.ExceptionHandler(ex, "SiteMapGenerator.GenerateSiteMap", null);
            }
        }
Пример #12
0
        public ServiceResult <object> ActiveCode()
        {
            try
            {
                var phoneNumber = Request.Form["phoneNumber"].ToString();
                var code        = Request.Form["code"].ToString();
                var captcha     = Request.Form["captcha"].ToString();
                if (string.IsNullOrEmpty(phoneNumber))
                {
                    return(new ServiceResult <object>(Enumerator.ErrorCode.ApplicationError,
                                                      "لطفا تلفن همراه را وارد نمایید"));
                }
                if (string.IsNullOrEmpty(code))
                {
                    return(new ServiceResult <object>(Enumerator.ErrorCode.ApplicationError,
                                                      "لطفا کد فعال سازی را وارد نمایید"));
                }
                if (string.IsNullOrEmpty(captcha))
                {
                    return(new ServiceResult <object>(Enumerator.ErrorCode.ApplicationError,
                                                      "لطفا کد امنیتی را وارد نمایید"));
                }
                if (!DataLayer.Tools.Captcha.ValidateCaptchaCode(captcha, Request.HttpContext))
                {
                    return(new ServiceResult <object>(Enumerator.ErrorCode.ApplicationError, "کد امنیتی صحیح نمی باشد"));
                }
                using (var unitOfWork = new UnitOfWork())
                {
                    var user = unitOfWork.Users
                               .Get(p => p.Username == phoneNumber.ToLower().Trim() && p.PhoneCode == code.Trim())
                               .FirstOrDefault();
                    if (user != null)
                    {
                        if (user.Deleted != 0)
                        {
                            return(new ServiceResult <object>(Enumerator.ErrorCode.ApplicationError,
                                                              "اطلاعاتی یافت نشد"));
                        }
                        user.PhoneCode = Util.RandomNumber();
                        user.Active    = true;
                        unitOfWork.Users.Update(user);
                        unitOfWork.Users.Save();
                        return(new ServiceResult <object>(true, 1));
                    }

                    return(new ServiceResult <object>(Enumerator.ErrorCode.ApplicationError,
                                                      "اطلاعات ارسالی معتبر نمی باشد"));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, "AccountService.ActiveCode", null));
            }
        }
Пример #13
0
        public BusinessAccessDto AddList(BusinessParam bp, BusinessAccessDto dto)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                using (var unitOfWork = new UnitOfWork())
                {
                    var item = unitOfWork.BusinessAccess.Get(p =>
                                                             p.UseCase == dto.UseCase && p.Role == dto.Role.EntityId &&
                                                             p.Organization == dto.Organization.EntityId).FirstOrDefault();
                    if (item != null)
                    {
                        var lstIds = new HashSet <string>();
                        var split  = dto.EntityIds.Split(",");
                        foreach (var s in split)
                        {
                            if (!string.IsNullOrEmpty(s))
                            {
                                lstIds.Add(s.Trim());
                            }
                        }
                        if (dto.AddCurrentList)

                        {
                            var split2 = item.EntityIds.Split(",");
                            foreach (var s in split2)
                            {
                                if (!string.IsNullOrEmpty(s))
                                {
                                    lstIds.Add(s.Trim());
                                }
                            }
                        }

                        var result = new StringBuilder();
                        foreach (var data in lstIds)
                        {
                            result.Append(data).Append(",");
                        }
                        item.EntityIds = result.ToString().Substring(0, result.ToString().Length - 1);
                        return(Copier.GetDto(item));
                    }

                    return(dto);
                }
            }
            catch (Exception e)
            {
                ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo);
                return(dto);
            }
        }
Пример #14
0
        public ServiceResult <object> ShowRow(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                return(new ServiceResult <object>(Copier.GetDto(), 1));
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #15
0
        public ServiceResult <object> Save(BusinessParam bp, SystemConfigDto dto)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                Copier.GetEntity(dto);
                return(new ServiceResult <object>(dto, 1));
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #16
0
        public ServiceResult <object> GridView(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tblUser         = Util.GetSqlServerTableName <Users>();
                var tblOrganization = Util.GetSqlServerTableName <DataLayer.Model.Core.Organization.Organization>();
                var tblRole         = Util.GetSqlServerTableName <DataLayer.Model.Core.Role.Role>();
                var tblEntity       = Util.GetSqlServerTableName <DataLayer.Model.Core.EntityState.EntityState>();
                var queryString     =
                    $"select entityId,tableName,tblEntityId,organizationName,userRoleRoleName, userLockerFirstName,userLockerLastName,fullTitle,deleted,createBy,accessKey  from (select EntityId as entityId,FullTitle as fullTitle ,Deleted as deleted,CreateBy as createBy,AccessKey as accessKey,TableName as tableName,TableEntityId as tblEntityId,mainOrganization.orgName as organizationName,mainRole.roleName as userRoleRoleName,mainUser.userFirstName as userLockerFirstName,mainUser.lastName as userLockerLastName  from {tblEntity} as mainData left join (select EntityId as roleEntityId,RoleName as roleName from {tblRole}) as mainRole on mainRole.roleEntityId = mainData.RoleId left join (select EntityId as OrganizationEntityId ,Name as orgName from {tblOrganization}) as mainOrganization on mainOrganization.OrganizationEntityId = mainData.OrganizationId left join (select EntityId as userEntityId,FirstName as userFirstName,LastName as lastName from {tblUser}) as mainUser on mainUser.userEntityId = mainData.UserId ) e  " +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, false, false, true)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                queryString = QueryUtil.SetPaging(bp.Clause.PageNo, bp.Clause.PageSize, queryString);
                using (var unitOfWork = new UnitOfWork())
                {
                    var entityStateList = unitOfWork.EntityState.CreateNativeQuery(queryString, x => new[]
                    {
                        x[0] != null ? Convert.ToInt32(x[0]) : (object)null,
                        x[1] != null ? Convert.ToInt64(x[1]) : (object)null,
                        x[2]?.ToString(),
                        x[3]?.ToString(),
                        x[4]?.ToString(),
                        x[5]?.ToString(),
                        x[6]?.ToString(),
                        x[7]?.ToString()
                    });
                    if (entityStateList.Count == 0)
                    {
                        return(new ServiceResult <object>(new List <EntityStateDto>(), 0));
                    }
                    var list        = new List <object>();
                    var headerTitle = new object[]
                    {
                        "entityId", "tblName", "tblEntityId", "organizationName", "userRoleRoleName",
                        "userLockerFirstName", "userLockerLastName"
                    };
                    list.Add(headerTitle);
                    list.AddRange(entityStateList);
                    return(new ServiceResult <object>(list, entityStateList.Count));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #17
0
        public ServiceResult <object> ShowRow(BusinessParam bp)
        {
            var  methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";
            long entityId   = 0;

            foreach (var where in bp.Clause.Wheres.Where(where =>
                                                         where.Key.Equals("entityId") && where.Value != null && !where.Value.Equals("")))
            {
                entityId = long.Parse(where.Value);
            }

            try
            {
                if (entityId == 0)
                {
                    return(ExceptionUtil.ExceptionHandler("شناسه مورد نظر یافت نشد",
                                                          ClassDetails[0].Facade + methodName,
                                                          bp.UserInfo));
                }
                using (var context = new ParsiContext())
                {
                    var person = context.Person.Where(p => p.EntityId == entityId)
                                 .Include(p => p.CurrentFile)
                                 .Include(p => p.CurrentBloodType)
                                 .Include(p => p.CurrentCitizenship)
                                 .Include(p => p.CurrentDisabilityType)
                                 .Include(p => p.CurrentHealthStatus)
                                 .Include(p => p.CurrentHousingSituation)
                                 .Include(p => p.CurrentLifeStatus)
                                 .Include(p => p.CurrentMaritalStatus)
                                 .Include(p => p.CurrentMilitaryServiceStatus)
                                 .Include(p => p.CurrentNationality)
                                 .Include(p => p.CurrentSex)
                                 .Include(p => p.CurrentReligion)
                                 .Include(p => p.CurrentSubReligion)
                                 .Include(p => p.CreateUserEntity)
                                 .Include(p => p.UpdateUserEntity)
                                 .IgnoreQueryFilters()
                                 .ToList();
                    return(person.Count == 0
                        ? new ServiceResult <object>(Enumerator.ErrorCode.NotFound, "رکورد یافت نشد")
                        : new ServiceResult <object>(Copier.GetDto(person[0]), 1));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #18
0
        public ServiceResult <object> Delete(BusinessParam bp)
        {
            var  methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";
            long entityId   = 0;

            foreach (var where in bp.Clause.Wheres.Where(where =>
                                                         where.Key.Equals("entityId") && where.Value != null && !where.Value.Equals("")))
            {
                entityId = long.Parse(where.Value);
            }

            try
            {
                if (entityId == 0)
                {
                    return(ExceptionUtil.ExceptionHandler("شناسه مورد نظر یافت نشد",
                                                          ClassDetails[0].Facade + methodName,
                                                          bp.UserInfo));
                }
                DataLayer.Model.Core.UseCase.UseCase useCase;
                using (var unitOfWork = new UnitOfWork())
                {
                    useCase = unitOfWork.UseCase.GetRecord(entityId);
                }

                if (useCase == null)
                {
                    return(ExceptionUtil.ExceptionHandler("شناسه مورد نظر یافت نشد",
                                                          ClassDetails[0].Facade + methodName,
                                                          bp.UserInfo));
                }

                useCase.Deleted = useCase.EntityId;
                using (var unitOfWork = new UnitOfWork())
                {
                    unitOfWork.UseCase.Update(useCase);
                    unitOfWork.UseCase.Save();
                }

                Elastic <UseCaseDto, DataLayer.Model.Core.UseCase.UseCase> .SaveToElastic(useCase, ClassDetails[0].Clazz,
                                                                                          bp);

                return(new ServiceResult <object>(true, 1));
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #19
0
        private string GetPathOfFile(JsonFileDto dto, BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                return
                    ($"/service/file/download/{FileRepositoryFacade.ReplaceInValidCharacter(Encryption.Encrypt(GetJsonData(dto)))}.{dto.Extension}");
            }
            catch (Exception ex)
            {
                ExceptionUtil.ExceptionHandler(ex, ClassDetails[0].Facade + methodName, bp.UserInfo);
                return("");
            }
        }
Пример #20
0
        private async Task <ServiceResult <object> > CreateThumbnail(IFormFile formFile, FileDto fileDto, BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var webRootPath = bp.Environment.WebRootPath;
                var dto         = new FileDto
                {
                    Alt                  = fileDto.Alt,
                    DataSize             = fileDto.DataSize,
                    Description          = fileDto.Description,
                    DisplayInFileManager = false,
                    Extension            = fileDto.Extension,
                    FullTitle            = fileDto.FullTitle,
                    Name                 = fileDto.Name,
                    ParentId             = fileDto.ParentId,
                    Path                 = fileDto.Path,
                    Thumbnail            = fileDto.Thumbnail,
                    Title                = fileDto.Title
                };
                var resize = new ImageResize();
                resize.Resize(webRootPath + dto.Path, webRootPath + dto.Thumbnail);
                dto.DisplayInFileManager = false;
                dto.Path = dto.Thumbnail;
                var file = Copier.GetEntity(dto, bp, true);
                using (var unitOfWork = new UnitOfWork())
                {
                    var done = unitOfWork.File.Insert(file);
                    unitOfWork.File.Save();
                    if (!done)
                    {
                        return(ExceptionUtil.ExceptionHandler("خطا در ذخیره فایل درون دیتابیس",
                                                              ClassDetails[0].Facade + methodName,
                                                              bp.UserInfo));
                    }
                    Elastic <FileDto, DataLayer.Model.Core.File.File> .SaveToElastic(file, ClassDetails[0].Clazz, bp);

                    dto.EntityId = file.EntityId;
                    return(new ServiceResult <object>(dto, 1));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #21
0
        public ServiceResult <object> GetAllData(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                using (var unitOfWork = new UnitOfWork())
                {
                    var accessGroups = unitOfWork.AccessGroup.Get(p => p.EntityId != 1).ToList();
                    return(new ServiceResult <object>(Copier.GetDto(accessGroups), accessGroups.Count));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #22
0
        public ServiceResult <object> ShowRow(BusinessParam bp)
        {
            var  methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";
            long entityId   = 0;

            foreach (var where in bp.Clause.Wheres.Where(where =>
                                                         where.Key.Equals("entityId") && where.Value != null && !where.Value.Equals("")))
            {
                entityId = long.Parse(where.Value);
            }

            try
            {
                if (entityId == 0)
                {
                    return(ExceptionUtil.ExceptionHandler("شناسه مورد نظر یافت نشد",
                                                          ClassDetails[0].Facade + methodName,
                                                          bp.UserInfo));
                }
                using (var context = new ParsiContext())
                {
                    var data = context.Organization.Where(p => p.EntityId == entityId)
                               .Include(p => p.CurrentLogo)
                               .Include(p => p.CurrentOrganizationGrade)
                               .Include(p => p.CurrentOrganizationOwnershipType)
                               .Include(p => p.CurrentOrganizationRoadType)
                               .Include(p => p.CurrentOrganizationStatus)
                               .Include(p => p.CurrentOrganizationType)
                               .Include(p => p.CurrentProvince)
                               .Include(p => p.CurrentCity)
                               .Include(p => p.CurrentOrganization)
                               .Include(p => p.CreateUserEntity)
                               .Include(p => p.UpdateUserEntity)
                               .IgnoreQueryFilters()
                               .ToList();
                    return(data.Count == 0
                        ? new ServiceResult <object>(Enumerator.ErrorCode.NotFound, "رکورد یافت نشد")
                        : new ServiceResult <object>(Copier.GetDto(data[0]), 1));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #23
0
        public string GetOrgAccess(long orgId)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                using (var unitOfWork = new UnitOfWork())
                {
                    return(unitOfWork.Organization.Get(p => p.EntityId == orgId).Select(p => p.AccessKey)
                           .FirstOrDefault());
                }
            }
            catch (Exception ex)
            {
                ExceptionUtil.ExceptionHandler(ex, ClassDetails[0].Facade + methodName, null);
                return("");
            }
        }
Пример #24
0
        public ServiceResult <object> GridView(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tableName   = Util.GetSqlServerTableName <Users>();
                var queryString =
                    $"select entityId,firstName,lastName,username,attempt,lastVisit,deleted,fullTitle,createBy,accessKey from (select EntityId as entityId, FirstName as firstName,LastName as lastName,Username as username,Attempt as attempt,LastVisit as lastVisit,FullTitle as fullTitle,Deleted as deleted,CreateBy as createBy,AccessKey as accessKey from {tableName} where code <> 'ADMIN') e " +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, false, false, true)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                queryString = QueryUtil.SetPaging(bp.Clause.PageNo, bp.Clause.PageSize, queryString);
                using (var unitOfWork = new UnitOfWork())
                {
                    var usersList = unitOfWork.Users.CreateNativeQuery(queryString, x => new[]
                    {
                        x[0] != null ? Convert.ToInt32(x[0]) : (object)null,
                        x[1] != null ? Convert.ToInt32(x[1]) : (object)null,
                        x[2]?.ToString(),
                        x[3]?.ToString(),
                        x[4]?.ToString(),
                        x[5]?.ToString(),
                        Util.GetTimeStamp(string.IsNullOrEmpty(x[6]?.ToString())
                            ? (DateTime?)null
                            : Convert.ToDateTime(x[6].ToString()))
                    });
                    if (usersList.Count == 0)
                    {
                        return(new ServiceResult <object>(new List <PersonDto>(), 0));
                    }
                    var list        = new List <object>();
                    var headerTitle = new object[]
                    { "entityId", "firstName", "lastName", "username", "attempt", "lastVisit" };
                    list.Add(headerTitle);
                    list.AddRange(usersList);
                    return(new ServiceResult <object>(list, usersList.Count));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #25
0
        public ServiceResult <object> GridView(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tableName   = Util.GetSqlServerTableName <DataLayer.Model.Core.Person.Person>();
                var queryString =
                    $"select * from (select entityId,firstName,lastName,NationalCode,fatherName,birthDate,deleted,fullTitle,createBy,accessKey from {tableName} where Code <> 'ADMIN') e " +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, false, false, true)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                queryString = QueryUtil.SetPaging(bp.Clause.PageNo, bp.Clause.PageSize, queryString);
                using (var unitOfWork = new UnitOfWork())
                {
                    var personList = unitOfWork.Person.CreateNativeQuery(queryString, x => new[]
                    {
                        x[0] != null ? Convert.ToInt32(x[0]) : (object)null,
                        x[1] != null ? Convert.ToInt64(x[1]) : (object)null,
                        x[2]?.ToString(),
                        x[3]?.ToString(),
                        x[4]?.ToString(),
                        x[5]?.ToString(),
                        Util.GetTimeStamp(string.IsNullOrEmpty(x[6]?.ToString())
                            ? (DateTime?)null
                            : Convert.ToDateTime(x[6].ToString()))
                    });
                    if (personList.Count == 0)
                    {
                        return(new ServiceResult <object>(new List <PersonDto>(), 0));
                    }
                    var list        = new List <object>();
                    var headerTitle = new object[]
                    { "entityId", "firstName", "lastName", "nationalCode", "fatherName", "birthDate" };
                    list.Add(headerTitle);
                    list.AddRange(personList);
                    return(new ServiceResult <object>(list, personList.Count));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #26
0
        public ServiceResult <object> GetAllList(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                List <DataLayer.Model.Core.Action.Action> myAction;
                using (var unitOfWork = new UnitOfWork())
                {
                    myAction = unitOfWork.Action.Get().ToList();
                }

                return(new ServiceResult <object>(Copier.GetDto(myAction), myAction.Count));
            }
            catch (Exception ex)
            {
                return(ExceptionUtil.ExceptionHandler(ex, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #27
0
        public ServiceResult <object> SaveList(BusinessParam bp, List <UseCaseActionAccessGroupDto> lstDto)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                foreach (var dto in lstDto)
                {
                    DataLayer.Model.Core.UseCaseActionAccessGroup.UseCaseActionAccessGroup caseActionAccessGroup;
                    if (dto.EntityId == 0)
                    {
                        using (var unitOfWork = new UnitOfWork())
                        {
                            caseActionAccessGroup = Copier.GetEntity(dto, bp, true);
                            if (caseActionAccessGroup.UseCaseAction != -1)
                            {
                                unitOfWork.UseCaseActionAccessGroup.Insert(caseActionAccessGroup);
                                unitOfWork.UseCaseActionAccessGroup.Save();
                            }
                        }
                    }
                    else
                    {
                        using (var unitOfWork = new UnitOfWork())
                        {
                            caseActionAccessGroup = Copier.GetEntity(dto, bp, false);
                            unitOfWork.UseCaseActionAccessGroup.Update(caseActionAccessGroup);
                            unitOfWork.UseCaseActionAccessGroup.Save();
                        }
                    }

                    Elastic <UseCaseActionAccessGroupDto,
                             DataLayer.Model.Core.UseCaseActionAccessGroup.UseCaseActionAccessGroup>
                    .SaveToElastic(caseActionAccessGroup, "UseCaseActionAccessGroup", bp);
                }

                return(new ServiceResult <object>(true, 1));
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #28
0
        public ServiceResult <object> GetAllExtension(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                using (var unitOfWork = new UnitOfWork())
                {
                    var extensionList = unitOfWork.File.Get().Select(p => p.Extension).Distinct().ToList();
                    return(extensionList.Count <= 0
                        ? new ServiceResult <object>(0, 1)
                        : new ServiceResult <object>(extensionList, extensionList.Count));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #29
0
        public ServiceResult <object> GridView(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tableName   = Util.GetSqlServerTableName <DataLayer.Model.Core.Menu.Menu>();
                var tblUseCase  = Util.GetSqlServerTableName <DataLayer.Model.Core.UseCase.UseCase>();
                var queryString =
                    $"select entityId,useCaseName,name,title,orderNode,parentName,useCase,parentId,deleted,createBy,fullTitle,accessKey from ( select EntityId as entityId, Name as name,Title as title, OrderNode as orderNode,useCaseTarget.useCaseName as useCaseName ,parentMenu.parentName as parentName, ParentId as parentId, UseCase as useCase,Deleted as deleted , CreateBy as createBy , AccessKey as accessKey, FullTitle as fullTitle from {tableName} as mainData left join (select EntityId as useCaseEntityId,UseCaseName as useCaseName from {tblUseCase}) as useCaseTarget on useCaseTarget.useCaseEntityId = mainData.UseCase left join (select EntityId as parentEntityId , Name as parentName  from {tableName}) as parentMenu on parentMenu.parentEntityId = mainData.ParentId ) e " +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, false, false, true)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                queryString = QueryUtil.SetPaging(bp.Clause.PageNo, bp.Clause.PageSize, queryString);
                using (var unitOfWork = new UnitOfWork())
                {
                    var lstMenu = unitOfWork.Menu.CreateNativeQuery(queryString, x => new[]
                    {
                        x[0] != null ? Convert.ToInt32(x[0]) : (object)null,
                        x[1] != null ? Convert.ToInt64(x[1]) : (object)null,
                        x[2]?.ToString(),
                        x[3]?.ToString(),
                        x[4]?.ToString(),
                        x[5]?.ToString(),
                        x[6]?.ToString()
                    });
                    if (lstMenu.Count == 0)
                    {
                        return(new ServiceResult <object>(new List <MenuDto>(), 0));
                    }
                    var list        = new List <object>();
                    var headerTitle = new object[] { "entityId", "useCase", "name", "title", "orderNode", "parent" };
                    list.Add(headerTitle);
                    list.AddRange(lstMenu);
                    return(new ServiceResult <object>(list, lstMenu.Count));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }
Пример #30
0
        public ServiceResult <object> GridView(BusinessParam bp)
        {
            var methodName = $".{new StackTrace().GetFrame(1).GetMethod().Name}";

            try
            {
                var tableName   = Util.GetSqlServerTableName <DataLayer.Model.Core.ComboVal.ComboVal>();
                var queryString =
                    "select entityId,name,value,code,parentId,fullTitle,createBy,accessKey from (select data.EntityId as entityId,data.Name as name,data.Value as value,data.Code as code,parent.Name as parentId,data.FullTitle as fullTitle,data.Deleted as deleted,data.CreateBy as createBy,data.AccessKey as accessKey from (select EntityId,Name,Value,Code,ParentId,FullTitle,Deleted,AccessKey,CreateBy from " +
                    tableName + " where Deleted =0) data left join(select EntityId, Name from " + tableName +
                    " where Deleted = 0) parent on data.ParentId = parent.EntityId ) e  " +
                    QueryUtil.GetWhereClause(bp.Clause,
                                             QueryUtil.GetConstraintForNativeQuery(bp, ClassDetails[0].Clazz, false, false, true)) +
                    QueryUtil.GetOrderByClause(bp.Clause);
                queryString = QueryUtil.SetPaging(bp.Clause.PageNo, bp.Clause.PageSize, queryString);
                using (var unitOfWork = new UnitOfWork())
                {
                    var comboList = unitOfWork.ComboVal.CreateNativeQuery(queryString, x => new[]
                    {
                        x[0] != null ? Convert.ToInt32(x[0]) : (object)null,
                        x[1] != null ? Convert.ToInt64(x[1]) : (object)null,
                        x[2]?.ToString(),
                        x[3]?.ToString(),
                        x[4]?.ToString(),
                        x[5]?.ToString()
                    });
                    if (comboList.Count == 0)
                    {
                        return(new ServiceResult <object>(new List <ComboValDto>(), 1));
                    }
                    var list        = new List <object>();
                    var headerTitle = new object[] { "entityId", "name", "value", "code", "parentName" };
                    list.Add(headerTitle);
                    list.AddRange(comboList);
                    return(new ServiceResult <object>(list, comboList.Count));
                }
            }
            catch (Exception e)
            {
                return(ExceptionUtil.ExceptionHandler(e, ClassDetails[0].Facade + methodName, bp.UserInfo));
            }
        }