예제 #1
0
        public async Task <ProductSessionAttendanceDto> Save(ProductSessionAttendanceEditDto itemToEdit)
        {
            ProductSessionAttendance res;

            if (itemToEdit.Id != Guid.Empty)
            {
                _logger.LogDebug($"Calling Update ProductSessionAttendance for id=[{itemToEdit.Id}]");
                //edit
                res = await this.GetInner(itemToEdit.Id);

                if (res == null)
                {
                    throw new NotFoundException($"ProductSessionAttendance with id={itemToEdit.Id} not exists!");
                }
                res.CustomerFullName = itemToEdit.CustomerFullName;
                res.IdCustomer       = itemToEdit.IdCustomer;
                res.IdSession        = itemToEdit.IdSession;
                res.Present          = itemToEdit.Present;
                _dbCtx.ProductSessionAttendances.Update(res);
                _dbCtx.SaveChanges();
            }
            else
            {
                //insert
                res    = itemToEdit.ToEntity();
                res.Id = Guid.NewGuid();
                _logger.LogDebug($"Calling Insert ProductSessionAttendance for id=[{res.Id}] (temp id, not created yet!)");
                await _dbCtx.ProductSessionAttendances.AddAsync(res);

                _dbCtx.SaveChanges();
            }
            return(res.ToDto());
        }
        public async Task <ActionResult <ProductSessionAttendanceDto> > Put([FromBody] ProductSessionAttendanceEditDto value)
        {
            if (value.Id == Guid.Empty)
            {
                throw new Exception("Unable to edit a ProductSessionAttendance without ID");
            }
            var res = await _service.Save(value);

            return(res);
        }
예제 #3
0
        public static ProductSessionAttendance ToEntity(this ProductSessionAttendanceEditDto e)
        {
            if (e == null)
            {
                return(null);
            }

            var res = new ProductSessionAttendance();

            res.Id               = e.Id;
            res.IdSession        = e.IdSession;
            res.Present          = e.Present;
            res.IdCustomer       = e.IdCustomer;
            res.CustomerFullName = e.CustomerFullName;
            return(res);
        }
        public async Task <ActionResult <ProductSessionAttendanceDto> > Post([FromBody] ProductSessionAttendanceEditDto value)
        {
            var res = await _service.Save(value);

            return(res);
        }