Example #1
0
        /// <summary>
        /// Получение регистров по алиасу типа накладной
        /// </summary>
        /// <param name="typeAlias"></param>
        /// <returns></returns>
        public IEnumerable <object> GetByTypeAlias(string typeAlias)
        {
            var invoiceType = _siriusContext.InvoiceTypes
                              .Where(it => it.Alias == typeAlias)?
                              .FirstOrDefault();

            if (invoiceType != null)
            {
                var invoices = _siriusContext.Invoices
                               .Where(i => i.TypeId == invoiceType.Id);

                var registers = invoices
                                .SelectMany(i => i.Registers)
                                .Include(r => r.Item)
                                .ThenInclude(i => i.Dimension)
                                .Select(r => new
                {
                    r.Id,
                    r.Item.Name,
                    Dimension = r.Item.Dimension.Name,
                    r.Amount,
                    r.Cost,
                    Sum  = ((double)r.Cost * r.Amount),
                    Date = DateConverter.ConvertToStandardString(r.Invoice.Date),
                    r.InvoiceId
                });
                return(registers);
            }
            return(null);
        }
Example #2
0
        /// <summary>
        /// Получение накладных по фильтру
        /// </summary>
        /// <param name="filter"></param>
        /// <param name="orderBy"></param>
        /// <param name="includeProperties"></param>
        /// <returns></returns>
        public IEnumerable <InvoiceListDto> GetAll(
            Expression <Func <Invoice, bool> > filter = null,
            Func <IQueryable <Invoice>, IOrderedQueryable <Invoice> > orderBy = null,
            string includeProperties = "")
        {
            var invoices = _siriusContext.Invoices
                           .Include(i => i.User)
                           .Include(i => i.Vendor)
                           .Where(filter)
                           .OrderBy(i => i.Date);

            if (invoices != null)
            {
                var result = invoices.Select(i => new InvoiceListDto()
                {
                    Id           = i.Id,
                    Name         = i.Name,
                    UserFullName = i.User.FirstName + " " + i.User.LastName,
                    Date         = DateConverter.ConvertToStandardString(i.Date),
                    IsFixed      = i.IsFixed,
                    IsTemporary  = i.IsTemporary
                });
                return(result);
            }
            return(null);
        }
Example #3
0
        /// <summary>
        /// Получение информации о накладной по идентификатору
        /// </summary>
        /// <param name="invoiceId"></param>
        /// <returns></returns>
        public object GetById(Guid invoiceId)
        {
            var invoice = GetByID(invoiceId);

            var registers = invoice.Registers.Select(r => new
            {
                r.Id,
                r.Cost,
                r.Amount,
                r.ItemId,
                Date = r.Invoice.Date.ToString("hhmmss"),
                r.Item.Name,
                Dimension = r.Item.Dimension.Name
            });

            var result = new
            {
                Id           = invoice.Id,
                Name         = invoice.Name,
                UserId       = invoice.UserId,
                UserFullName = invoice.User.FirstName + " " + invoice.User.LastName,
                VendorId     = invoice.Vendor.Id,
                VendorName   = invoice.Vendor.Name,
                Registers    = registers,
                Date         = DateConverter.ConvertToStandardString(invoice.Date),
                IsTemporary  = invoice.IsTemporary,
                IsFixed      = invoice.IsFixed,
                TypeId       = invoice.TypeId,
                Comment      = invoice.Comment
            };

            return(result);
        }
Example #4
0
        public object GetLogs()
        {
            var result = _unitOfWork.LogRepository.Get(null, null, "User").Select(item => new
            {
                item.Id,
                item.Content,
                Action     = Actions.GetActionAliasByType(item.Action),
                CreateDate = DateConverter.ConvertToStandardString(item.CreateDate),
                User       = string.Format("{0} {1}", item.User.LastName, item.User.FirstName)
            });

            return(result);
        }
Example #5
0
        /// <summary>
        /// Получение регистров по фильтру
        /// </summary>
        /// <param name="filter"></param>
        /// <param name="orderBy"></param>
        /// <param name="includeProperties"></param>
        /// <returns></returns>
        public IEnumerable <object> GetAll(
            Expression <Func <Register, bool> > filter = null,
            Func <IQueryable <Register>, IOrderedQueryable <Register> > orderBy = null,
            string includeProperties = "")
        {
            var registers = _siriusContext.Registers
                            .Include(i => i.Invoice)
                            .Include(i => i.Item)
                            .Where(filter)
                            .Select(r => new
            {
                r.Id,
                r.Item.Name,
                Dimension = r.Item.Dimension.Name,
                r.Amount,
                r.Cost,
                Sum  = ((double)r.Cost * r.Amount),
                Date = DateConverter.ConvertToStandardString(r.Invoice.Date),
                r.InvoiceId
            });

            return(registers);
        }