public async Task <ResultListDto> GetAllFilesAsync(ICollection <IFormFile> filess)
        {
            string dtoName       = Request.Form["attachmentTypeCategoryID"];
            string attachmentDto = Request.Form["attachmentDto"];
            string filterDto     = Request.Form["filterDto"];

            AttachmentFilterDto filter = Newtonsoft.Json.JsonConvert.DeserializeObject <AttachmentFilterDto>(filterDto);
            AttachmentDto       attDto = Newtonsoft.Json.JsonConvert.DeserializeObject <AttachmentDto>(attachmentDto);


            if (dtoName == ConstAttachmentTypeCategory.Customer.ToString())
            {
                var entity = Newtonsoft.Json.JsonConvert.DeserializeObject <CustomerHeadDto>(attDto.entity.ToString());
                filter.CustomerID = entity.ID;
            }

            if (dtoName == ConstAttachmentTypeCategory.User.ToString())
            {
                var entity = Newtonsoft.Json.JsonConvert.DeserializeObject <UserDto>(attDto.entity.ToString());
                filter.UserID = entity.ID;
            }

            if (dtoName == ConstAttachmentTypeCategory.Session.ToString())
            {
                var entity = Newtonsoft.Json.JsonConvert.DeserializeObject <SessionDto>(attDto.entity.ToString());
                filter.SessionID = entity.ID;
            }

            var result = await _uploadAppService.GetAllAttachmentsAsync(filter);

            return(result);
        }
        public async Task <ResultListDto> GetAllAttachmentsAsync(AttachmentFilterDto attachmentDto)
        {
            var attachmentFilter = _mapper.Map <AttachmentFilter>(attachmentDto);

            var fileList = await _uploadService.GetFilesAsync(attachmentFilter);

            List <Attachment> attachments = (List <Attachment>)fileList.Results;

            List <AttachmentDto> attachmentDtos = new List <AttachmentDto>();

            attachments?.ForEach(x =>
            {
                AttachmentDto dto = new AttachmentDto();
                dto = _mapper.Map <AttachmentDto>(x);
                dto.AttachmentType = _mapper.Map <KeyValueDto>(x.AttachmentType);
                attachmentDtos.Add(dto);
            });

            ResultListDto finalResult = new ResultListDto()
            {
                MaxPageRows = fileList.MaxPageRows,
                TotalRows   = fileList.TotalRows,
                Results     = attachmentDtos,
            };

            return(finalResult);
        }
Beispiel #3
0
        public async Task <AttachmentDto[]> GetList(AttachmentFilterDto filter)
        {
            var idResource = filter.IdResource;

            _logger.LogDebug($"Calling getList Attachment");
            if (idResource == Guid.Empty)
            {
                throw new Exception("Missing IdResource, unable to save attachment");
            }

            IQueryable <Attachment> query = _dbCtx.Attachments;

            query = query.Where(x => x.IdResource == idResource);

            var result = await query.OrderBy(x => x.Name).ToArrayAsync();

            return(result.Select(x => x.ToDto()).ToArray());
        }
        public async Task <List <string> > CheckAllFilesGetFromUserAsync([FromBody] AttachmentFilterDto filterDto)
        {
            var result = await _uploadAppService.CheckAllFilesGetFromUserAsync(filterDto);

            return(result);
        }
        public async Task <List <string> > CheckAllFilesGetFromUserAsync(AttachmentFilterDto attachmentDto)
        {
            List <string> fileNotImport = new List <string>();

            var types = await _uploadService.GetRequierdAttachmentTypesAsync(attachmentDto.CategoryID);

            var typeResults = (IEnumerable <AttachmentType>)types.Results;

            attachmentDto.WithPaging = false;
            var attachments = await GetAllAttachmentsAsync(attachmentDto);

            var results = (IEnumerable <AttachmentDto>)attachments.Results;

            //// bool exist = false;
            // int typeCounter = 0;
            // foreach (var item in typeResults)
            // {

            //     foreach (var att in results)
            //     {
            //         if (att.AttachmentType.ID == item.ID)
            //         {
            //             typeCounter += 1;
            //         }
            //     }

            //     if (typeCounter < item.AttachmentTypeCount )
            //     {
            //       //  fileNotImport.Add($"فایل {item.AttachmentTypeDesc} وارد نشده" );
            //         fileNotImport.Add($"فایل {item.AttachmentTypeDesc} به تعداد کافی وارد نشده است تعداد : {Math.Abs(typeCounter - item.AttachmentTypeCount)}");
            //     }

            //     typeCounter = 0;
            // }

            bool exist = false;

            foreach (var item in typeResults)
            {
                foreach (var att in results)
                {
                    if (att.AttachmentType.ID == item.ID)
                    {
                        exist = true;
                    }
                }

                if (!exist)
                {
                    fileNotImport.Add($"فایل {item.AttachmentTypeDesc} وارد نشده");
                    exist = false;
                }

                exist = false;
            }


            if (fileNotImport.Count > 0)
            {
                fileNotImport.Add("لطفا تمامی فایلهای مربوطه را وارد کنید");
            }

            return(fileNotImport);
        }
Beispiel #6
0
        public async Task <ResultObject> Login([FromBody] AuthParam authParam)
        {
            var branch = await branchAppService.GetBranchByBranchCodeAsync(authParam.BranchCode);

            ResultObject resultObject = new ResultObject();

            if (branch == null)
            {
                resultObject.Result = null;
                resultObject.ServerErrors.Add(new ServerErr()
                {
                    Hint = ErrorMessages.NotFoundBranch, Type = ConstErrorTypes.BussinessError
                });
                return(resultObject);
            }

            var userDto = await userAppService.FindUser(authParam.UserName, authParam.Password, branch.ID);

            if (userDto == null)
            {
                resultObject.Result = userDto;
                resultObject.ServerErrors.Add(new ServerErr()
                {
                    Hint = ErrorMessages.NotuserFound
                });
                return(resultObject);
            }
            AttachmentFilterDto filter = new AttachmentFilterDto()
            {
                UserID     = userDto.ID,
                CategoryID = ConstAttachmentTypeCategory.User,
                pageNumber = 1
            };
            var userAttachments = await uploadAppService.GetAllAttachmentsAsync(filter);

            userDto.PicturePath = ((IEnumerable <AttachmentDto>)(userAttachments.Results))?.FirstOrDefault()?.Path;


            if (userDto.IsActive == false)
            {
                resultObject.Result = userDto;
                resultObject.ServerErrors.Add(new ServerErr()
                {
                    Hint = ErrorMessages.UserNotEnable
                });
                return(resultObject);
            }
            else if (userDto.UserBranch == null)
            {
                resultObject.Result = null;
                resultObject.ServerErrors.Add(new ServerErr()
                {
                    Hint = ErrorMessages.NotAccessbranch, Type = ConstErrorTypes.BussinessError
                });
                return(resultObject);
            }
            else if (!userDto.UserBranch.Branch.IsActive)
            {
                resultObject.Result = null;
                resultObject.ServerErrors.Add(new ServerErr()
                {
                    Hint = "شعبه فعال نمی باشد.", Type = ConstErrorTypes.BussinessError
                });
                return(resultObject);
            }
            if (userDto != null)
            {
                userDto.Token = JwtAuthManager.GenerateJWTToken(username: authParam.UserName, userID: userDto.ID);
                if (userDto.IsRequireChangePass)
                {
                    var changePassActivity = new ActivityDto()
                    {
                        Id          = ConstActivities.changePassword,
                        ParentId    = 2,
                        Name        = "changePassword",
                        Title       = "تغییر رمز",
                        Path        = "/mp/changePassword",
                        IsMenu      = true,
                        IsActive    = true,
                        IconClass   = "key",
                        Description = "شما ملزم به تغییر رمز عبور می باشید. لطفا رمز عبور را تغییر داده و دوباره به سیستم وارد شوید."
                    };
                    userDto.ActivityDtos.Add(changePassActivity);
                }
                else
                {
                    userDto.ActivityDtos = await accessControl.GetActivitiesAsync(userDto.ID, userDto.UserBranch.BranchId, userDto.IsRequireChangePass);
                }
            }

            //notificationAppService.SendMessage($"کاربر {userDto.UserName} {Environment.NewLine} ورود شما در تاریخ {DateConvertor.Instance.ConvertGregorianToPersianDate(DateTime.Now)} در سامانه صندوق های خرد محلی {userDto.UserBranch.BranchName} ثبت گردید ",
            //    userDto.PhoneNumber);



            return(new ResultObject {
                Result = userDto, ServerErrors = null
            });
        }