public async Task <IActionResult> PostMarketingEvent([FromBody] MarketingEvent marketingEvent) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } MarketingEvent MarketingEventdb = _context.MarketingEvent.FirstOrDefault(c => c.Code == marketingEvent.Code); if (MarketingEventdb != null) { MarketingEventdb.Descr = marketingEvent.Descr; MarketingEventdb.Version = marketingEvent.Version; MarketingEventdb.IsMark = marketingEvent.IsMark; await _context.SaveChangesAsync(); return(CreatedAtAction("GetMarketingEvent", new { id = marketingEvent.MarketingEventId }, MarketingEventdb)); } else { _context.MarketingEvent.Add(marketingEvent); await _context.SaveChangesAsync(); return(CreatedAtAction("GetMarketingEvent", new { id = marketingEvent.MarketingEventId }, marketingEvent)); } }
public static MarketingEvent AddMarketingEvent(ISession dbSession, Association association) { var newItem = new MarketingEvent(); newItem.Name = " new MarketingEvent"; newItem.Association = association; dbSession.Save(newItem); return(newItem); }
public ActionResult Save(MarketingEventViewModel model) { if (!ModelState.IsValid) { return(View("Edit", model)); } if (model.AddMode) { var marketingEvent = new MarketingEvent { Association = CurrentAssociation, Name = model.Name }; DbSession.Save(marketingEvent); EditedEvent.SelectedProducers.ForEach(p => { DbSession.CreateSQLQuery( "insert into Customers.PromoterProducers (ProducerId, MarketingEventId) values (:id, :eventId)") .SetParameter("id", p.Id) .SetParameter("eventId", marketingEvent.Id) .ExecuteUpdate(); }); } else { var marketingEvent = DbSession.Query <MarketingEvent>().FirstOrDefault(r => r.Id == model.MarketingEventId); if (marketingEvent == null) { return(HttpNotFound()); } var producers = DbSession.Query <PromoterProducer>() .Where(r => r.MarketingEvent == marketingEvent) .ToArray(); producers.Where(r => !EditedEvent.SelectedProducers.Contains(r.Producer)).ForEach(p => { DbSession.Delete(p); }); EditedEvent.SelectedProducers.Where(r => !producers.Any(p => p.Producer == r)).ForEach(x => { DbSession.CreateSQLQuery( "insert into Customers.PromoterProducers (ProducerId, MarketingEventId) values (:id, :eventId)") .SetParameter("id", x.Id) .SetParameter("eventId", marketingEvent.Id) .ExecuteUpdate(); }); } EditedEvent = null; return(RedirectToAction("Index")); }
/// <summary> /// Добавление поставщика для пользователя /// </summary> /// <param name="dbSession"></param> /// <param name="promoter"></param> /// <param name="producer"></param> /// <param name="contacts">По умолчанию "+7 (000) 00 00"</param> /// <returns></returns> public static PromoterProducer AddPromoterProducer(ISession dbSession, Promoter promoter, Producer producer, MarketingEvent marketingEvent, string contacts = null) { var newItem = new PromoterProducer(); // todo исправить после окончательного изменения структуры БД newItem.MarketingEvent = marketingEvent; newItem.Producer = producer; if (contacts == null) { newItem.Contacts = "+7 (000) 00 00"; } dbSession.Save(newItem); return(newItem); }
public async Task <IActionResult> PostMarketingEventProduct([FromBody] List <MarketingEventProductCode> marketingEventProductCode) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } int count = 0; foreach (var item in marketingEventProductCode) { MarketingEvent marketingEvent = _context.MarketingEvent.FirstOrDefault(p => p.Code == item.MarketingEventCode); Product product = _context.Products.FirstOrDefault(p => p.Code == item.ProductCode); if (marketingEvent == null) { return(BadRequest(ModelState)); } if (product == null) { return(BadRequest(ModelState)); } var marketingEventProduct = await _context.MarketingEventProduct.SingleOrDefaultAsync(c => c.MarketingEventId == marketingEvent.MarketingEventId& c.ProductId == product.ProductId); if (marketingEventProduct != null) { marketingEventProduct.MarketingEvent = marketingEvent; marketingEventProduct.Product = product; } else { marketingEventProduct = new MarketingEventProduct(); marketingEventProduct.MarketingEvent = marketingEvent; marketingEventProduct.Product = product; } _context.AttachRange(marketingEventProduct); count++; } await _context.SaveChangesAsync(); return(Ok(new { count = count })); }
public async Task <IActionResult> GetMarketingEventProduct([FromRoute] MarketingEventProductCode marketingEventProductCode) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } MarketingEvent marketingEvent = _context.MarketingEvent.FirstOrDefault(p => p.Code == marketingEventProductCode.MarketingEventCode); Product products = _context.Products.FirstOrDefault(p => p.Code == marketingEventProductCode.ProductCode); var marketingEventProduct = await _context.MarketingEventProduct.SingleOrDefaultAsync(c => c.MarketingEventId == marketingEvent.MarketingEventId& c.ProductId == products.ProductId); if (marketingEventProduct == null) { return(NotFound()); } return(Ok(marketingEventProduct)); }