コード例 #1
0
        public async Task <IActionResult> Create([Bind("Id,Startdate,Enddate,Reference,Invoice,Department,Costcenter,Account,ProjectCode,Description,Contractor,LaborPrice,MaterialPrice,StateProject,Userid,Comment,State,CreatedAt,UpdatedAt,Idteam")] Ots ots)
        {
            if (ModelState.IsValid)
            {
                _context.Add(ots);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(ots));
        }
コード例 #2
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Startdate,Enddate,Reference,Invoice,Department,Costcenter,Account,ProjectCode,Description,Contractor,LaborPrice,MaterialPrice,StateProject,Userid,Comment,State,CreatedAt,UpdatedAt,Idteam")] Ots ots)
        {
            if (id != ots.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(ots);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException ex)
                {
                    foreach (var entry in ex.Entries)
                    {
                        if (entry.Entity is Ots)
                        {
                            var proposedValues = entry.CurrentValues;
                            var databaseValues = entry.GetDatabaseValues();

                            foreach (var property in proposedValues.Properties)
                            {
                                var proposedValue = proposedValues[property];
                                var databaseValue = databaseValues[property];

                                // TODO: decide which value should be written to database
                                proposedValues[property] = proposedValue;
                            }

                            // Refresh original values to bypass next concurrency check
                            entry.OriginalValues.SetValues(databaseValues);
                            _context.Update(ots);
                            await _context.SaveChangesAsync();
                        }
                        else
                        {
                            throw new NotSupportedException(
                                      "Don't know how to handle concurrency conflicts for "
                                      + entry.Metadata.Name);
                        }
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(ots));
        }