Пример #1
0
        public ActionResult GetRequestFile(string status)
        {
            var req = new ListRequest();

            req.EqualityFilter = new Dictionary <string, object>();
            req.EqualityFilter.Add("Submit", status);
            using (var connection = SqlConnections.NewByKey("Default"))
            {
                var spsHelper = new SpreedSheetHelper(Server.MapPath("~/Content/templates/export/result/ais/CapNhatPhongBanUser.xlsx"));
                var stream    = spsHelper.ExportXls <MyRow>(new MyController().List(connection, req).Entities);
                return(ExcelContentResult.Create(stream.GetBuffer()));
            }
        }
Пример #2
0
        public ActionResult GetResultFromFile(string status)
        {
            HttpPostedFileBase file = this.HttpContext.Request.Files[0];

            if (file == null)
            {
                throw new ArgumentNullException("file");
            }
            if (file.FileName.IsEmptyOrNull())
            {
                throw new ArgumentNullException("filename");
            }
            try
            {
                ListContainer <MyRow> list = new ListContainer <MyRow>();
                var spsHelper = new SpreedSheetHelper(Server.MapPath("~/Content/templates/import/result/ais/CapNhatPhongBanUser.xlsx"));
                var stream    = new MemoryStream();
                file.InputStream.CopyTo(stream);
                list = spsHelper.ReadFromFile(list, stream);
                stream.Seek(0, SeekOrigin.Begin);

                var        response = this.ExecuteMethod(() => HandleUploadRequest(file, stream, spsHelper.HasError));
                AisFileRow fileRow  = ((UploadResponse <AisFileRow>)response.Data).UploadedFile;

                if (fileRow != null)
                {
                    if (spsHelper.HasError)
                    {
                        return(new Result <ServiceResponse>(new ServiceResponse
                        {
                            Error = new ServiceError()
                            {
                                Code = "FileErr",
                                Message = fileRow.FilePath
                            }
                        }));
                    }
                    var fileRowResponse = this.InTransaction("Default", (uow) =>
                    {
                        var saveFileResponse = new Ais.Repositories.AisFileRepository().Create(uow, new SaveRequest <AisFileRow>
                        {
                            Entity = fileRow
                        });
                        if (saveFileResponse.EntityId.HasValue)
                        {
                            foreach (var item in list.Entities)
                            {
                                var saveresponse = new AisUserChangeOURepository().UpdateResult(uow, new SaveRequest <MyRow>
                                {
                                    Entity = item
                                });
                                if (saveresponse.EntityId.HasValue)
                                {
                                    new Ais.Repositories.AisFileResultsRepository().Create(uow, new SaveRequest <AisFileResultsRow>
                                    {
                                        Entity = new AisFileResultsRow
                                        {
                                            FileId  = Convert.ToInt32(saveFileResponse.EntityId),
                                            ReqId   = Convert.ToInt32(saveresponse.EntityId),
                                            ReqType = 3
                                        }
                                    });
                                }
                            }
                        }
                        return(saveFileResponse);
                    }).Data;
                }
                if (!(Request.Headers["Accept"] ?? "").Contains("json"))
                {
                    response.ContentType = "text/plain";
                }
                ((UploadResponse <AisFileRow>)response.Data).UploadedFile = null;
                return(response);
            }
            catch (Exception ex)
            {
                return(new Result <ServiceResponse>(new ServiceResponse
                {
                    Error = new ServiceError()
                    {
                        Code = "Exception",
                        Message = ex.Message
                    }
                }));
            }
        }