/// <summary> /// Adding new book; /// ID is formed as the last created incremented by one. /// </summary> /// <param name="title">new title Book</param> public void AddBook(string title) { var newId = repository.GetLast() == null ? 1 : repository.GetLast().Id + 1; var newBook = new Book { Id = newId, Title = title }; repository.Add(newBook); }
public async Task <IActionResult> ActionLibrary(Models.Library library) { bool status = false; string message = ""; try { if (ModelState.IsValid) { if (library.ID == 0) //Add new { if (!await _iLibrary.CheckDuplicate(library)) { library.CreatedDate = DateTime.Now; var user = _iUser.FindByID(Convert.ToInt32(HttpContext.User.FindFirstValue(ClaimTypes.Sid))).Result; var libraryType = await _iLibraryType.FindByID((int)library.LibraryTypeID); string testid = HttpContext.User.FindFirst("GUID").ToString(); library.CreatedBy = user; library.CreatedDate = DateTime.Now; if (libraryType.Type.ToLower() == "dataview")// 1:Container,2:Data View. If library has type = 2 then create some default fields for the Data view library { var defaultFields = await _iDefaultField.DefaultFieldCollection(); foreach (var dfield in defaultFields) { Field field = new Field(); field.Name = dfield.Name; field.Title = dfield.Title; field.FieldType = dfield.FieldType; if (dfield.Name.ToLower() == "createddate" || (dfield.Name.ToLower() == "createdby")) { field.Editable = 0; field.Visible = 0; } else { field.Editable = 1; field.Visible = 1; } field.Library = library; field.LibraryGuid = library.GUID; await _iField.Add(field); } } await Task.FromResult(_iLibrary.Add(library)); status = true; message = "Library " + library.Title + " has been added!"; } else { status = false; message = "Library " + library.Title + " already exist!"; } } else { if (!await _iLibrary.CheckDuplicate(library)) { library.EditedBy = _iUser.FindByID(Convert.ToInt32(HttpContext.User.FindFirstValue(ClaimTypes.Sid))).Result; library.EditedDate = DateTime.Now; await _iLibrary.Edit(library); status = true; message = "Library " + library.Title + " has been updated!"; } else { status = false; message = "Library " + library.Title + " already exist!"; } } } else { message = "Model State is not valid. "; message += string.Join("; ", ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)); status = false; } } catch (Exception ex) { status = false; message = ex.Message; } return(new JsonResult(new { success = status, message = message })); }