Esempio n. 1
0
        public void UpdateRests(Guid inventorizationId, List <Rests> rests)
        {
            IEnumerable <Rests> oldRests     = inventorizationRepository.GetRests(inventorizationId);
            IEnumerable <Rests> existedRests = rests.Where(x => oldRests.Any(r => r.Code == x.Code));
            IEnumerable <Rests> newRests     = rests.Except(existedRests);

            inventorizationRepository.UpdateRests(inventorizationId, existedRests);
            inventorizationRepository.AddRests(inventorizationId, newRests);
        }
Esempio n. 2
0
        public IHttpActionResult INV3(Guid inventorizationId)
        {
            Report3Generator generator = new Report3Generator(AppDomain.CurrentDomain.BaseDirectory + @"\Templates\Report3.XLSX");

            Business.Model.Inventorization inventorization = inventorizationRepository.GetInventorization(inventorizationId);
            if (inventorization == null)
            {
                return(NotFound());
            }
            List <Rests> rests = inventorizationRepository.GetRests(inventorizationId);
            List <Business.Model.Action> actions = actionRepository.GetActionsByInventorization(inventorizationId);

            string[]           codes = rests.Select(x => x.Code).Union(actions.Select(x => x.BarCode)).Distinct().ToArray();
            IEnumerable <Item> items = companyRepository.GetItems(inventorization.Company).Where(x => x.Source == ItemSource.Import && codes.Any(r => r == x.Code));

            using (MemoryStream stream = generator.Generate(items.ToList(), actions, rests))
            {
                var result = new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new ByteArrayContent(stream.ToArray())
                };
                result.Content.Headers.ContentDisposition =
                    new ContentDispositionHeaderValue("attachment")
                {
                    FileName = "Report3.xlsx"
                };
                result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.ms-excel");
                return(ResponseMessage(result));
            }
        }