Beispiel #1
0
        public async Task <DocumentResponse> AddDocumentAsync(AddDocumentRequest request)
        {
            Document document = _documentMapper.Map(request);
            Document result   = _documentRespository.Add(document);

            int modifiedRecords = await _documentRespository.UnitOfWork.SaveChangesAsync();

            _logger.LogInformation(Events.Add, Messages.NumberOfRecordAffected_modifiedRecords, modifiedRecords);
            _logger.LogInformation(Events.Add, Messages.ChangesApplied_id, result?.Id);

            return(_documentMapper.Map(result));
        }
        public void Test1()
        {
            var request = new AddDocumentRequest
            {
                ImageUrl = "assets/1.jpg",
                //request.ImageUrl = "DALTEST";
                DocumentName = "AddDocumentTest",
                Owner        = "*****@*****.**"
            };
            var ret = _service.AddDocument(request);

            Assert.AreEqual(new AddDocumentResponseOk(), ret);
        }
Beispiel #3
0
        public void AddDocumentTest2()
        {
            var request = new AddDocumentRequest
            {
                ImageUrl = "assets/1.jpg",
                //request.ImageUrl = "DALTEST";
                DocumentName = "2",
                Owner        = "*****@*****.**"
            };
            var docId = Guid.NewGuid();
            var ret   = _dal.AddDocument(request, docId.ToString());

            Assert.AreEqual(1, ret.Tables.Count);
        }
 public Response AddDocument(AddDocumentRequest request)
 {
     try
     {
         string docId = GetId(request.Owner);
         _dal.AddDocument(request, docId);
         AddDocumentResponseOk ret = new AddDocumentResponseOk
         {
             DocId = docId
         };
         return(ret);
     }
     catch (Exception ex)
     {
         return(new AppResponseError(ex.Message));
     }
 }
Beispiel #5
0
        public DataSet AddDocument(AddDocumentRequest request, string docId)
        {
            var cmd = new OracleCommand
            {
                Connection  = _conn,
                CommandText = "AddDocument "
            };
            var param1 = _infraDal.GetParameter("OwnerID", OracleDbType.Varchar2, request.Owner);
            var param2 = _infraDal.GetParameter("ImageUrl", OracleDbType.Varchar2, request.ImageUrl);
            var param3 = _infraDal.GetParameter("DocumentName", OracleDbType.Varchar2, request.DocumentName);
            var param4 = _infraDal.GetParameter("DocId", OracleDbType.Varchar2, docId);

            cmd.Parameters.Add(param1);
            cmd.Parameters.Add(param2);
            cmd.Parameters.Add(param3);
            cmd.Parameters.Add(param4);
            return(_infraDal.ExecSpQuery(cmd));
        }
        public async Task <ActionResult <DocumentDetails> > PostDocument([FromForm] AddDocumentRequest doc, IFormFile file, ApiVersion version)      // ApiVersion required for Routing
        {
            _logger.LogInformation("Begin Upload of File {Name}", file.FileName);

            var fileContent = await file.GetFileBytesAsync(HttpContext.RequestAborted);

            if (!_validator.IsValid(file.FileName, fileContent, out var message))
            {
                _logger.LogError("Posted File {Name} is not Valid: {Error}", file.FileName, message);
                return(BadRequest(message));
            }

            var details = new DocumentDetailsDto
            {
                Description  = doc.Description,
                FileName     = file.FileName,
                Owner        = doc.Owner,
                Title        = doc.Title,
                FileSize     = file.Length,
                DocumentType = _fileInfoProvider.GetDocumentType(file.FileName)
            };

            try
            {
                var result = await _repository.InsertAsync(details, fileContent, HttpContext.RequestAborted);

                if (result <= 0)
                {
                    _logger.LogError("Unable to upload Document {Name} ({Title}). A document with this title already exists.", details.FileName, details.Title);
                    return(Conflict("A document with this title already exists"));
                }

                _logger.LogInformation("Document {Name} was uploaded as {Id} ({Title})", details.FileName, result, details.Title);

                return(CreatedAtAction(nameof(Get), new { version = version.ToString(), id = result }, result));
            }
            catch (Exception e)
            {
                _logger.LogError(e, "An error has prevented upload of Document {Name}", details.FileName);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
Beispiel #7
0
        public Document Map(AddDocumentRequest request)
        {
            if (request == null)
            {
                return(null);
            }

            Document document = new Document
            {
                CompanyTextDocument = request.CompanyTextDocument,
                CompanyTextDelivery = request.CompanyTextDelivery,
                CompanyTextInvoice  = request.CompanyTextInvoice,
                Number             = request.Number,
                DocumentType       = request.DocumentType,
                SubType            = request.SubType,
                TypeName           = request.TypeName,
                ValueBias          = request.ValueBias,
                Status             = request.Status,
                PrintDate          = request.PrintDate,
                ReminderDate       = request.ReminderDate,
                PrintCount         = request.PrintCount,
                NetPriceSum        = request.NetPriceSum,
                PriceGross         = request.PriceGross,
                IsArchived         = request.IsArchived,
                TextStartId        = request.TextStartId,
                TextHeadId         = request.TextHeadId,
                TextPaymentTermsId = request.TextPaymentTermsId,
                TextDeliveryId     = request.TextDeliveryId,
                TextEndId          = request.TextEndId,
                DocumentPersonId   = request.DocumentPersonId,
                DocumentCompanyId  = request.DocumentCompanyId,
                DeliveryPersonId   = request.DeliveryPersonId,
                DeliveryCompanyId  = request.DeliveryCompanyId,
                InvoicePersonId    = request.InvoicePersonId,
                InvoiceCompanyId   = request.InvoiceCompanyId,
            };

            return(document);
        }
Beispiel #8
0
        public GeneralResponse AddDocument(AddDocumentRequest request)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                Document document = new Document();
                document.ID             = Guid.NewGuid();
                document.CreateDate     = PersianDateTime.Now;
                document.CreateEmployee = _employeeRepository.FindBy(request.CreateEmployeeID);
                document.Customer       = this._customerRepository.FindBy(request.CustomerID);
                document.DocumentName   = request.DocumentName;
                document.Photo          = request.Photo;
                document.Note           = request.Note;
                document.RowVersion     = 1;

                #region Rename The file

                // extract the extention
                var fileExtention = Path.GetExtension(request.Photo);
                // Get directory
                var directory = Path.GetDirectoryName(request.Photo);
                // create filename
                string fileName = directory + "/" + document.ID + fileExtention;
                // Rename file
                File.Move(request.Photo, fileName);

                #endregion

                document.ImageType = fileExtention;
                document.Photo     = fileName;

                #region Validation

                if (document.GetBrokenRules().Count() > 0)
                {
                    foreach (BusinessRule businessRule in document.GetBrokenRules())
                    {
                        response.ErrorMessages.Add(businessRule.Rule);
                    }

                    File.Delete(fileName);

                    return(response);
                }

                #endregion

                _documentRepository.Add(document);
                _uow.Commit();

                ////response.success = true;
                response.ID = document.ID;
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
Beispiel #9
0
        public Response AddDocument([FromBody] AddDocumentRequest request)
        {
            var ret = _service.AddDocument(request);

            return(ret);
        }
Beispiel #10
0
        public JsonResult Document_Insert(Guid customerID, DocumentView document, HttpPostedFileBase file)
        {
            GeneralResponse response = new GeneralResponse();

            #region Access Check
            bool hasPermission = GetEmployee().IsGuaranteed("Document_Insert");
            if (!hasPermission)
            {
                response.ErrorMessages.Add("AccessDenied");
                return(Json(response, JsonRequestBehavior.AllowGet));
            }
            #endregion

            string fileName = string.Empty;
            string path     = string.Empty;

            try
            {
                #region Upload file

                // Verify that the user selected a file
                if (file != null && file.ContentLength > 0)
                {
                    // extract the extention
                    var fileExtention = Path.GetExtension(file.FileName);
                    // create filename
                    //string fileName = response.ID + "." + fileExtention;
                    // fileName = Path.GetFileName(file.FileName);

                    // Create a unique file name
                    fileName = Guid.NewGuid() + "." + fileExtention;

                    // Gettin current Year and Month
                    PersianCalendar pc    = new PersianCalendar();
                    int             year  = pc.GetYear(DateTime.Now);
                    int             month = pc.GetMonth(DateTime.Now);

                    // Create File Path
                    path = Path.Combine(Server.MapPath("~/data/" + year + "/" + month), fileName);
                    // Create reqired directried if not exist
                    new FileInfo(path).Directory.Create();

                    // Uploading
                    using (var fs = new FileStream(path, FileMode.Create))
                    {
                        var buffer = new byte[file.InputStream.Length];
                        file.InputStream.Read(buffer, 0, buffer.Length);

                        fs.Write(buffer, 0, buffer.Length);
                    }
                }

                #endregion
            }
            catch (Exception ex)
            {
                //response.success = false;
                response.ErrorMessages.Add("در آپلود کردن فایل خطایی به وجود آمده است.");
                return(Json(response, JsonRequestBehavior.AllowGet));
            }

            #region Add Document

            AddDocumentRequest request = new AddDocumentRequest();

            request.CreateEmployeeID = GetEmployee().ID;
            request.CustomerID       = customerID;

            request.DocumentName = document.DocumentName;
            request.Photo        = path;
            request.Note         = document.Note;

            response = _documentService.AddDocument(request);

            #endregion

            return(Json(response, JsonRequestBehavior.AllowGet));
        }