/// <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); }
/// <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); }
/// <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); }
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); }
/// <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); }