Пример #1
0
    public Result SaveImage(string tableName, string fieldName, byte[] image, string PK, string PKValue)
    {
        SaveImageRequest  request  = new SaveImageRequest(tableName, fieldName, image, PK, PKValue);
        SaveImageResponse response = this.SaveImage(request);

        return(response.SaveImageResult);
    }
Пример #2
0
        public async Task GetImageWithBytesAsync_Test()
        {
            SaveImageByUrlRequest saveRequest = new SaveImageByUrlRequest()
            {
                ImageUrl = "https://www.baidu.com/img/bd_logo1.png?where=super"
            };

            SaveImageResponse saveResponse = await _imageAppService.SaveImageByUrlAsync(saveRequest);

            GetImageRequest getRequest = new GetImageRequest()
            {
                BucketName = saveResponse.BucketName,
                ImageName  = saveResponse.ImageName
            };

            GetImageWithBytesResponse getResponse = await _imageAppService.GetImageWithBytesAsync(getRequest);

            using (MD5 md5Hash = MD5.Create())
            {
                byte[] md5Bytes = md5Hash.ComputeHash(getResponse.ImageData);

                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < md5Bytes.Length; i++)
                {
                    sb.Append(md5Bytes[i].ToString("X2"));
                }

                sb.ToString().ShouldBe("B15C113AEDDBEB606D938010B88CF8E6");
            }
        }
Пример #3
0
    private SaveImageResponse SaveImage(SaveImageRequest request)
    {
        CFInvokeInfo info = new CFInvokeInfo();

        info.Action            = "http://tempuri.org/IServiceBase/SaveImage";
        info.RequestIsWrapped  = true;
        info.ReplyAction       = "http://tempuri.org/IServiceBase/SaveImageResponse";
        info.ResponseIsWrapped = true;
        SaveImageResponse retVal = base.Invoke <SaveImageRequest, SaveImageResponse>(info, request);

        return(retVal);
    }
Пример #4
0
        public async Task SaveImageByBase64Async_Test()
        {
            SaveImageByBase64Request request = new SaveImageByBase64Request()
            {
                ImageBase64 = ImageLoader.ConvertToBase64("images/image2.png")
            };

            SaveImageResponse response = await _imageAppService.SaveImageByBase64Async(request);

            response.Location.ShouldBe("us-east-1");
            response.BucketName.ShouldBe(DateTime.Today.ToString("yyyy-MM-dd"));
            response.ImageName.ShouldBe("384E5061724501F88E9EE4854CEDE6CA");
        }
Пример #5
0
        public async Task SaveImageByUrlAsync_Test()
        {
            SaveImageByUrlRequest request = new SaveImageByUrlRequest()
            {
                ImageUrl = "https://www.baidu.com/img/bd_logo1.png?where=super"
            };

            SaveImageResponse response = await _imageAppService.SaveImageByUrlAsync(request);

            response.Location.ShouldBe("us-east-1");
            response.BucketName.ShouldBe(DateTime.Today.ToString("yyyy-MM-dd"));
            response.ImageName.ShouldBe("B15C113AEDDBEB606D938010B88CF8E6");
        }
Пример #6
0
        public override async Task <SaveImageRpcResponse> SaveImageByBytesRpc(
            SaveImageByBytesRpcRequest request, ServerCallContext context)
        {
            SaveImageResponse result = await _imageAppService.SaveImageByBytesAsync(new SaveImageByBytesRequest()
            {
                ImageBytes = request.ImageData.ToByteArray()
            }).ConfigureAwait(false);

            return(new SaveImageRpcResponse()
            {
                BucketName = result.BucketName,
                ImageName = result.ImageName,
                Location = result.Location
            });
        }
Пример #7
0
        public async Task SaveImageByFormFileAsync_Test()
        {
            using (FileStream fs = new FileStream("images/image2.png", FileMode.Open))
            {
                FormFile file = new FormFile(fs, 0, fs.Length, "file", "image2.png")
                {
                    Headers     = new HeaderDictionary(),
                    ContentType = "image/png"
                };

                SaveImageResponse response = await _imageAppService.SaveImageByFormFileAsync(file);

                response.Location.ShouldBe("us-east-1");
                response.BucketName.ShouldBe(DateTime.Today.ToString("yyyy-MM-dd"));
                response.ImageName.ShouldBe("384E5061724501F88E9EE4854CEDE6CA");
            }
        }
Пример #8
0
        public UpdateOpportunityResponse UpdateOpportunity(UpdateOpportunityRequest request)
        {
            Logger.Current.Verbose("Request for updating an opportunity");
            request.opportunityViewModel.IsDeleted = false;
            var opportunityViewModel = request.opportunityViewModel;

            hasAccess(request.opportunityViewModel.OpportunityID, request.RequestedBy, request.AccountId, request.RoleId);
            if (request.opportunityViewModel.Image != null)
            {
                SaveImageResponse imageResponse = imageService.SaveImage(new SaveImageRequest()
                {
                    ImageCategory = ImageCategory.OpportunityProfile,
                    ViewModel     = request.opportunityViewModel.Image,
                    AccountId     = request.AccountId
                });
                request.opportunityViewModel.Image = imageResponse.ImageViewModel;
            }
            Opportunity opportunity         = Mapper.Map <OpportunityViewModel, Opportunity>(request.opportunityViewModel);
            bool        isOpportunityUnique = opportunityRepository.IsOpportunityUnique(opportunity);

            if (!isOpportunityUnique)
            {
                var message = "[|Opportunity with name|] \"" + opportunity.OpportunityName + "\" [|already exists.|]";
                throw new InvalidOperationException(message);
            }
            isOpportunityValid(opportunity);
            //opportunityRepository.Update(opportunity);
            // Opportunity updatedOpportunity = unitOfWork.Commit() as Opportunity;
            OpportunityTableType opportunityTableType = Mapper.Map <OpportunityViewModel, OpportunityTableType>(request.opportunityViewModel);
            OpportunityTableType newOpportunityType   = opportunityRepository.InsertOpportunity(opportunityTableType);
            // opportunityRepository.Insert(opportunity);
            Opportunity updatedOpportunity = opportunityRepository.FindBy(newOpportunityType.OpportunityID);

            if (indexingService.Update <Opportunity>(updatedOpportunity) > 0)
            {
                Logger.Current.Verbose("Opportunity updated to elasticsearch successfully");
            }
            if (request.opportunityViewModel.StageID != request.opportunityViewModel.PreviousStageID)
            {
                addToTopic(opportunityViewModel.OpportunityID, request.AccountId, opportunityViewModel.Contacts.Select(s => s.Id), opportunityViewModel.StageID);
            }

            return(new UpdateOpportunityResponse());
        }
Пример #9
0
        public async Task DownloadImageAsync_Test()
        {
            SaveImageByUrlRequest saveRequest = new SaveImageByUrlRequest()
            {
                ImageUrl = "https://www.baidu.com/img/bd_logo1.png?where=super"
            };

            SaveImageResponse saveResponse = await _imageAppService.SaveImageByUrlAsync(saveRequest);

            DownloadImageRequest downloadRequest = new DownloadImageRequest()
            {
                BucketName = saveResponse.BucketName,
                ImageName  = saveResponse.ImageName,
                ImageType  = "png"
            };

            FileStreamResult getResponse = await _imageAppService.DownloadImageAsync(downloadRequest);

            getResponse.FileStream.Length.ShouldBe(7877);
        }
Пример #10
0
        public async Task GetImageStatusAsync_Test()
        {
            SaveImageByUrlRequest saveRequest = new SaveImageByUrlRequest()
            {
                ImageUrl = "https://www.baidu.com/img/bd_logo1.png?where=super"
            };

            SaveImageResponse saveResponse = await _imageAppService.SaveImageByUrlAsync(saveRequest);

            GetImageRequest getRequest = new GetImageRequest()
            {
                BucketName = saveResponse.BucketName,
                ImageName  = saveResponse.ImageName
            };

            GetImageStatusResponse getResponse = await _imageAppService.GetImageStatusAsync(getRequest);

            getResponse.ImageName.ShouldBe("B15C113AEDDBEB606D938010B88CF8E6");
            getResponse.Size.ShouldBe(7877);
        }
Пример #11
0
        public override async Task <FaceDto> CreateAsync(FaceDto input)
        {
            foreach (var subImageInfoDto in input.SubImageList.SubImageInfoObject)
            {
                if (string.IsNullOrEmpty(subImageInfoDto.Data))
                {
                    continue;
                }

                SaveImageByBase64Request request = new SaveImageByBase64Request()
                {
                    ImageBase64 = subImageInfoDto.Data
                };

                SaveImageResponse response = await _imageAppService.SaveImageByBase64Async(request);

                subImageInfoDto.NodeId      = response.BucketName;
                subImageInfoDto.ImageKey    = response.ImageName;
                subImageInfoDto.StoragePath = $"{response.BucketName}:{response.ImageName}";
            }

            return(await base.CreateAsync(input));
        }
Пример #12
0
        public override async Task <ResponseStatusList> CreateList(CreateOrUpdateListInputDto <FaceDto> input)
        {
            ResponseStatusList result = new ResponseStatusList();

            foreach (var faceDto in input.List)
            {
                foreach (var subImageInfoDto in faceDto.SubImageList.SubImageInfoObject)
                {
                    if (string.IsNullOrEmpty(subImageInfoDto.Data))
                    {
                        continue;
                    }

                    SaveImageByBase64Request request = new SaveImageByBase64Request()
                    {
                        ImageBase64 = subImageInfoDto.Data
                    };

                    SaveImageResponse response = await _imageAppService.SaveImageByBase64Async(request);

                    subImageInfoDto.NodeId      = response.BucketName;
                    subImageInfoDto.ImageKey    = response.ImageName;
                    subImageInfoDto.StoragePath = $"{response.BucketName}:{response.ImageName}";
                }
                var face = await base.CreateAsync(faceDto);

                result.ResponseStatusObject.Add(new ResponseStatus
                {
                    Id           = face.Id.ToString(),
                    RequestURL   = "",
                    StatusCode   = 0,
                    StatusString = "",
                    LocalTime    = DateTime.Now
                });
            }
            return(result);
        }
Пример #13
0
        /// <summary>
        /// Insert Opportunity.
        /// </summary>
        /// <param name="request"></param>
        /// <returns>HttpResponseMessage</returns>
        public InsertOpportunityResponse InsertOpportunity(InsertOpportunityRequest request)
        {
            Logger.Current.Verbose("Request for inserting an opportunity");
            if (request.opportunityViewModel.Image != null)
            {
                SaveImageResponse imageResponse = imageService.SaveImage(new SaveImageRequest()
                {
                    ImageCategory = ImageCategory.OpportunityProfile,
                    ViewModel     = request.opportunityViewModel.Image,
                    AccountId     = request.AccountId
                });
                request.opportunityViewModel.Image = imageResponse.ImageViewModel;
            }
            Opportunity opportunity = Mapper.Map <OpportunityViewModel, Opportunity>(request.opportunityViewModel);

            opportunity.IsDeleted = false;
            bool isOpportunityUnique = opportunityRepository.IsOpportunityUnique(opportunity);

            if (!isOpportunityUnique)
            {
                var message = "[|Opportunity with name|] \"" + opportunity.OpportunityName + "\" [|already exists.|]";
                throw new UnsupportedOperationException(message);
            }
            isOpportunityValid(opportunity);
            OpportunityTableType opportunityTableType = Mapper.Map <OpportunityViewModel, OpportunityTableType>(request.opportunityViewModel);
            OpportunityTableType newOpportunityType   = opportunityRepository.InsertOpportunity(opportunityTableType);
            // opportunityRepository.Insert(opportunity);
            Opportunity newOpportunity = opportunityRepository.FindBy(newOpportunityType.OpportunityID);

            if (indexingService.Index <Opportunity>(newOpportunity) > 0)
            {
                Logger.Current.Verbose("Indexed the opportunity successfully");
            }


            return(new InsertOpportunityResponse());
        }
Пример #14
0
        private async void button1_Click(object sender, EventArgs e)
        {
            if (comboBox3.Text == "")
            {
                MessageBox.Show("Невыбрана должность!");
            }
            else if (textBox1.Text == "")
            {
                MessageBox.Show("Не указан логин!");
            }
            else if (textBox2.Text == "")
            {
                MessageBox.Show("Не указан пароль!");
            }
            else if (textBox3.Text == "")
            {
                MessageBox.Show("Не указана фамилия!");
            }
            else if (textBox4.Text == "")
            {
                MessageBox.Show("Не указано имя!");
            }
            else if (textBox5.Text == "")
            {
                MessageBox.Show("Не указано отчество!");
            }

            else if (textBox7.Text == "" && panel2.Visible)
            {
                MessageBox.Show("Не указан кабинет!");
            }
            else if (textBox8.Text == "" && panel2.Visible)
            {
                MessageBox.Show("Не указано образование!");
            }
            else if (textBox6.Text == "" && panel2.Visible)
            {
                MessageBox.Show("Не указан стаж!");
            }
            else
            {
                if (panel2.Visible)
                {
                    try { Convert.ToInt32(textBox7.Text); } catch { MessageBox.Show("В поле 'Кабинет' должно быть указанно число!"); return; }
                    try { Convert.ToInt32(textBox6.Text); } catch { MessageBox.Show("В поле 'Стаж' должно быть указанно число!"); return; }
                }


                //хеширование
                MD5           Hasher   = MD5.Create();
                byte[]        data     = Hasher.ComputeHash(Encoding.Default.GetBytes(textBox2.Text));
                StringBuilder sBuilder = new StringBuilder();
                for (int i = 0; i < data.Length; i++)
                {
                    sBuilder.Append(data[i].ToString("x2"));
                }
                string hash = sBuilder.ToString();

                if (image_path != "")
                {
                    // Format of image
                    int    index         = image_path.LastIndexOf('.');
                    string format_string = image_path.Substring(index, image_path.Length - index);

                    if (format_string == ".png" || format_string == ".jpg" || format_string == ".jpeg" || format_string == ".bmp")
                    {
                        ImageFormat format = null;
                        if (format_string == ".png")
                        {
                            format = ImageFormat.Png;
                        }
                        else if (format_string == ".jpg" || format_string == ".jpeg")
                        {
                            format = ImageFormat.Jpeg;
                        }
                        else if (format_string == ".bmp")
                        {
                            format = ImageFormat.Bmp;
                        }

                        //binary array image
                        MemoryStream memoryStream = new MemoryStream();
                        pictureBox1.Image.Save(memoryStream, format);
                        byte[] array = memoryStream.ToArray();

                        SaveImageResponse response = await Program.image_service.SaveImageAsync(array, format_string);

                        image_path = response.Body.SaveImageResult;
                    }
                }


                if (Convert.ToString(comboBox2.SelectedValue) == "")
                {
                    DataBase.Insert("fun_ins_worker",
                                    textBox1.Text, hash, textBox3.Text, textBox4.Text, textBox5.Text,
                                    Convert.ToInt32(comboBox3.SelectedValue), DateTime.Today,
                                    dateTimePicker1.Value, image_path);

                    if (!DataBase.HasError)
                    {
                        MessageBox.Show("Сотрудник зачислен в штат.");
                    }
                    else
                    {
                        MessageBox.Show(DataBase.ErrorMessage);
                    }
                }
                else
                {
                    bool is_doc = Convert.ToBoolean(DataBase.Scalar("fun_scal_is_doc", comboBox3.SelectedValue));
                    if (is_doc)
                    {
                        DataBase.Insert("fun_ins_doctor",
                                        textBox1.Text, hash, textBox3.Text, textBox4.Text, textBox5.Text,
                                        Convert.ToInt32(comboBox3.SelectedValue), DateTime.Today,
                                        dateTimePicker1.Value, image_path, Convert.ToInt32(comboBox2.SelectedValue),
                                        Convert.ToInt32(textBox7.Text), textBox8.Text, Convert.ToInt32(textBox6.Text));

                        if (!DataBase.HasError)
                        {
                            MessageBox.Show("Сотрудник зачислен в штат.");
                        }
                        else
                        {
                            MessageBox.Show(DataBase.ErrorMessage);
                        }
                    }
                    else
                    {
                        DataBase.Insert("fun_ins_medworker",
                                        textBox1.Text, hash, textBox3.Text, textBox4.Text, textBox5.Text,
                                        Convert.ToInt32(comboBox3.SelectedValue), DateTime.Today,
                                        dateTimePicker1.Value, image_path, Convert.ToInt32(comboBox2.SelectedValue));

                        if (!DataBase.HasError)
                        {
                            MessageBox.Show("Сотрудник зачислен в штат.");
                        }
                        else
                        {
                            MessageBox.Show(DataBase.ErrorMessage);
                        }
                    }
                }
                Clear();
            }
        }
Пример #15
0
        private async void button1_Click(object sender, EventArgs e)
        {
            if (image_path != "")
            {
                await Program.image_service.RemoveImageAsync(path);

                // Format of image
                int    index         = image_path.LastIndexOf('.');
                string format_string = image_path.Substring(index, image_path.Length - index);

                if (format_string == ".png" || format_string == ".jpg" || format_string == ".jpeg" || format_string == ".bmp")
                {
                    ImageFormat format = null;
                    if (format_string == ".png")
                    {
                        format = ImageFormat.Png;
                    }
                    else if (format_string == ".jpg" || format_string == ".jpeg")
                    {
                        format = ImageFormat.Jpeg;
                    }
                    else if (format_string == ".bmp")
                    {
                        format = ImageFormat.Bmp;
                    }

                    //binary array image
                    MemoryStream memoryStream = new MemoryStream();
                    pictureBox1.Image.Save(memoryStream, format);
                    byte[]            array    = memoryStream.ToArray();
                    SaveImageResponse response = await Program.image_service.SaveImageAsync(array, format_string);

                    path = response.Body.SaveImageResult;
                }
            }


            if (ch == 'W' || ch == 'M')
            {
                //  ToString("yyyy-MM-dd")
                DataBase.Insert("fun_upd_worker_medworker",
                                Convert.ToString(comboBox4.SelectedValue), textBox3.Text, textBox4.Text,
                                textBox5.Text, dateTimePicker1.Value, path);
                if (!DataBase.HasError)
                {
                    MessageBox.Show("Изменения сохранены!");
                }
            }
            else
            {
                DataBase.Insert("fun_upd_doctor",
                                Convert.ToString(comboBox4.SelectedValue), textBox3.Text, textBox4.Text,
                                textBox5.Text, dateTimePicker1.Value, path,
                                Convert.ToInt32(textBox7.Text), textBox8.Text, Convert.ToInt32(textBox6.Text));
                if (!DataBase.HasError)
                {
                    MessageBox.Show("Изменения сохранены!");
                }
            }
            Content2_VisibleChanged(sender, e);
        }
Пример #16
0
        public SaveImageResponse SaveImage(SaveImageRequest request)
        {
            SaveImageResponse response = new SaveImageResponse();

            if (request != null)
            {
                ImageViewModel viewModel = request.ViewModel;
                if (viewModel.ImageContent != null)
                {
                    if (!string.IsNullOrEmpty(viewModel.StorageName) && viewModel.ImageContent.Contains(viewModel.StorageName))
                    {
                        response.ImageViewModel = viewModel;
                        return(response);
                    }
                    if (viewModel.OriginalName == null)
                    {
                        response.ImageViewModel = null;
                        return(response);
                    }
                    Image  Image;
                    string storageName = string.Empty;
                    if (viewModel.ImageID != 0)
                    {
                        storageName = viewModel.StorageName;
                    }
                    else
                    {
                        storageName = Guid.NewGuid().ToString() + viewModel.ImageType;
                    }
                    string imagePath = CreateFolder(request.ImageCategory, request.AccountId.ToString());
                    imagePath = Path.Combine(imagePath, storageName);

                    if (System.IO.File.Exists(imagePath))
                    {
                        System.IO.File.Delete(imagePath);
                    }
                    if (!System.IO.File.Exists(imagePath))
                    {
                        if (viewModel.ImageContent.Split(',').Length == 2)
                        {
                            string imageContent = viewModel.ImageContent.Split(',')[1];
                            byte[] imageData    = Convert.FromBase64String(imageContent);
                            using (MemoryStream ms = new MemoryStream(imageData))
                            {
                                Image = Image.FromStream(ms);
                                Image.Save(imagePath);
                            }
                            viewModel.ImageContent    = null;
                            viewModel.StorageName     = storageName;
                            viewModel.FriendlyName    = viewModel.OriginalName;
                            viewModel.ImageCategoryID = request.ImageCategory;
                            viewModel.AccountID       = Convert.ToInt16(request.AccountId);
                        }
                        else
                        {
                            viewModel = null;
                        }
                    }
                    response.ImageViewModel = viewModel;
                }
            }
            else
            {
                response.ImageViewModel = null;
            }
            return(response);
        }