public async Task<ActionResult> Copy([Bind(Include = "RebateClientTypeId,ClientTypeID,RebateLevelsTable")] RebateClientType rebateClientType, int sourceClientTypeID) { if (ModelState.IsValid) { var existCheck = db.RebateClientTypes.Where(m => m.ClientTypeID == rebateClientType.ClientTypeID).FirstOrDefault(); if (existCheck == null) { var accountId = (from item in db.Accounts where item.Active select item.AccountId).First(); var newRebateLevelTabel = new RebateLevelsTable() { FromAccountId = accountId, ToAccountId = accountId }; db.RebateLevelsTables.Add(newRebateLevelTabel); //await db.SaveChangesAsync(); rebateClientType.RebateLevelsTable = newRebateLevelTabel; db.RebateClientTypes.Add(rebateClientType); await db.SaveChangesAsync(); await CopyRebateClientType(sourceClientTypeID, rebateClientType.RebateClientTypeId); return RedirectToAction("Edit", new { id = rebateClientType.RebateClientTypeId }); } else { await CopyRebateClientType(sourceClientTypeID, existCheck.RebateClientTypeId); return RedirectToAction("Edit", new { id = existCheck.RebateClientTypeId }); } } var source = (from item in db.ClientTypes where item.ClientTypeId == sourceClientTypeID select item).First(); ViewBag.ClientTypeName = source.ClientTypeName; var clienttypes = db.ClientTypes.Where(m => m.ClientTypeId != source.ClientTypeId).ToArray(); ViewBag.ClientTypeID = new SelectList(clienttypes, "ClientTypeID", "ClientTypeName"); ViewBag.SourceClientTypeID = sourceClientTypeID; return View(rebateClientType); }
public async Task<ActionResult> Create([Bind(Include = "RebateClientTypeId,ClientTypeID,RebateLevelsTable")] RebateClientType rebateClientType) { if (ModelState.IsValid) { var existCheck = db.RebateClientTypes.Where(m => m.RebateClientTypeId == rebateClientType.RebateClientTypeId).FirstOrDefault(); if (existCheck == null) { var accountId = (from item in db.Accounts where item.Active select item.AccountId).First(); var newRebateLevelTabel = new RebateLevelsTable() {FromAccountId=accountId, ToAccountId=accountId }; db.RebateLevelsTables.Add(newRebateLevelTabel); //await db.SaveChangesAsync(); rebateClientType.RebateLevelsTable = newRebateLevelTabel; db.RebateClientTypes.Add(rebateClientType); await db.SaveChangesAsync(); return RedirectToAction("Edit", new { id = rebateClientType.RebateClientTypeId }); } else { return RedirectToAction("Edit", new { id = existCheck.RebateClientTypeId }); } } ViewBag.ClientTypeID = new SelectList(db.ClientTypes, "ClientTypeID", "ClientTypeName"); return View(rebateClientType); }