Example #1
0
        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());
            }
        }
Example #5
0
        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));
        }