public async Task <ActionResult <ActivityViewModel> > PutActivity(int id, ActivityEditModel activityModel) { Activity activity = await _activitiesRepository.FindByIdAsync(id); if (activity is null) { return(BadRequest($"No existe ninguna actividad con el código {id}.")); } _mapper.Map(activityModel, activity); _activitiesRepository.Update(activity); try { await _unitWork.SaveAsync(); } catch (DbUpdateConcurrencyException) { if (!ActivityExists(id)) { return(NotFound($"Actualización fallida. No existe ninguna actividad con el código {id}.")); } throw; } return(_mapper.Map <ActivityViewModel>(activity)); }
public ActionResult Edit(ActivityEditModel form) { var _av = db.Activities.Find(form.ActivityID); _av.ActivityName = form.ActivityName; _av.BeginDate = form.BeginDate; _av.EndDate = form.EndDate; _av.ActivityID = form.ActivityID; _av.DiscountID = form.DiscountID; db.Entry(_av).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Edit", new { id = form.ActivityID })); }
public ActionResult Edit(int id) { //活動內容更改 View ActivityEditModel _AEM = new ActivityEditModel(); var _av = db.Activities.Find(id); _AEM.ActivityID = _av.ActivityID; _AEM.ActivityName = _av.ActivityName; _AEM.BeginDate = _av.BeginDate; _AEM.EndDate = _av.EndDate; _AEM.DiscountID = _av.DiscountID; _AEM.DiscountName = db.DiscountMethods.Find(_av.DiscountID).DiscountName; _AEM.CreateDate = _av.CreateDate; //活動商品明細 View List <ActivityProdViewModel> _Listapvm = new List <ActivityProdViewModel>(); var _ap = db.ActivityProducts.Where(W => W.ActivityID == id); List <Product> prod = db.Products.ToList(); List <VW_EW_CategorySM> cateMS = db.VW_EW_CategorySM.ToList(); List <Supplier> suppliers = db.Suppliers.ToList(); List <ProductPhoto> prodPhoto = db.ProductPhotoes.ToList(); foreach (var _data in _ap) { ActivityProdViewModel _apvm = new ActivityProdViewModel(); _apvm.ActivityID = _data.ActivityID; _apvm.ProductID = _data.ProductID; var _pd = db.Products.Where(W => W.ProductID == _data.ProductID).FirstOrDefault(); _apvm.ProductName = _pd.ProductName; _apvm.CategoryMSName = cateMS.Where(x => x.CategorySID == _pd.CategorySID).FirstOrDefault().CategoryName; _apvm.SupplierName = suppliers.Where(x => x.SupplierID == _pd.SupplierID).FirstOrDefault().SupplierName; if (prodPhoto.Any(x => x.ProductID == _data.ProductID && ((x.PhotoID == null ? 0 : x.PhotoID) > 0))) { _apvm.PhotoID = (int)prodPhoto.Where(x => x.ProductID == _data.ProductID).FirstOrDefault().PhotoID; } //aevm.producstList _Listapvm.Add(_apvm); } _AEM.ProdList = _Listapvm; ViewBag.temp = db.DiscountMethods; return(View(_AEM)); }
public IActionResult Create(ActivityEditModel model) { if (ModelState.IsValid) { var newActivity = new Activity(); newActivity.Name = model.Name; newActivity.Category = model.Category; _activityData.Add(newActivity); return(RedirectToAction(nameof(Details), new { id = newActivity.Id })); } else { return(View()); } }
public IActionResult Create(ActivityEditModel model) { if (ModelState.IsValid) { var newActivity = new BucketData(); newActivity.Activity = model.Activity; newActivity.ActivityType = model.ActivityType; newActivity.DateAdded = DateTime.Now; newActivity = _bucketData.Add(newActivity); return(RedirectToAction(nameof(Details), new { id = newActivity.Id })); } else { return(View()); } }
public async Task <ActionResult <ActivityViewModel> > UpdateActivy(int id, [FromBody] ActivityEditModel activityEdit) { Activity activity = await dbContext.Activities.FindAsync(id); if (activity is null) { return(NotFound($"Actividad no encontrada: {id}")); } Qualification qualification = await dbContext.Qualifications.Include(a => a.Activities) .Where(q => q.Id == activity.QualificationId).FirstOrDefaultAsync(); if (qualification is null) { return(BadRequest($"La actividad con id {activity.QualificationId} no existe")); } decimal diff = activityEdit.Percent - activity.Percent; if (qualification.TotalActivityPercent + diff > 1) { return(BadRequest($"Superó el porcentaje permitido")); } _mapper.Map(activityEdit, activity); dbContext.Activities.Update(activity); qualification.Activities.RemoveAll(a => a.Id == activity.Id); if (!qualification.AddActivity(activity)) { return(BadRequest($"The activity cannot be added, the percentage of the activity exceeds the allowed")); } qualification.Calculate(); dbContext.Update(qualification); await dbContext.SaveChangesAsync(); return(_mapper.Map <ActivityViewModel>(activity)); }