Beispiel #1
0
        public HttpResponseMessage Get(string id)
        {
            Guid _id;

            if (Guid.TryParse(id, out _id))
            {
                return(Request.CreateResponse(HttpStatusCode.OK, _inventorizationRepository.GetInventorization(_id)));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }
        }
Beispiel #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));
            }
        }
Beispiel #3
0
 public HttpResponseMessage GetInventorization(Guid id, Guid inventorizationId)
 {
     Business.Model.Inventorization inventorization = _inventorizationRepository.GetInventorization(inventorizationId);
     if (inventorization == null)
     {
         Request.CreateResponse(HttpStatusCode.NotFound);
     }
     if (inventorization.Company != id)
     {
         Request.CreateResponse(HttpStatusCode.BadRequest);
     }
     return(Request.CreateResponse(HttpStatusCode.OK, inventorization));
 }
        public HttpResponseMessage Get(Guid id)
        {
            var action              = _actionRepository.GetAction(id);
            var zone                = _zoneRepository.GetZone(action.Zone);
            var company             = _inventorizationRepository.GetInventorization(action.Inventorization).Company;
            var items               = _companyRepository.GetItems(company, new[] { action.BarCode });
            List <ZoneState> states = _inventorizationRepository.GetZoneStates(action.Inventorization).Where(x => x.ZoneId != Guid.Empty).ToList();
            var foundItem           = items.FirstOrDefault(i => i.Code == action.BarCode);
            var foundState          = states.FirstOrDefault(z => z.ZoneId == zone.Id);

            var zoneVm = new ZoneViewModel()
            {
                ZoneId   = zone.Id,
                Number   = zone.Number,
                ClosedAt = foundState?.ClosedAt,
                ClosedBy = foundState?.ClosedBy,
                OpenedAt = foundState?.OpenedAt,
                OpenedBy = foundState?.OpenedBy,
                ZoneName = zone.Name
            };
            var res = new ViewModels.Action()
            {
                Id           = action.Id,
                DateTime     = action.DateTime,
                Quantity     = action.Quantity,
                Type         = action.Type,
                User         = action.UserId.ToString(),
                Zone         = zoneVm,
                BarCode      = action.BarCode,
                FoundInItems = foundItem != null,
                Name         = foundItem != null ? foundItem.Name : "Не найдена в номенклатуре",
                Description  = foundItem != null ? foundItem.Description : "Не найдена в номенклатуре",
            };

            return(Request.CreateResponse(HttpStatusCode.OK, res));
        }