public GenericResponse AddPart([FromBody] ApiPart apiPart) { if (apiPart.Name == null || apiPart.Number == null) { return(new GenericResponse() { Type = "Warning", Code = 2, Message = "Cannot create part. Part 'Name' and 'Number' are required." }); } else { long returnedId = _ds.AddPart(apiPart); if (returnedId > 0) { return(new GenericResponse() { Type = "Success", Code = 0, Message = "Part saved.", ItemId = returnedId }); } else { return(new GenericResponse() { Type = "Error", Code = 1, Message = "Exception was thrown when trying to save part." }); } } }
public long AddPart(ApiPart apiPart) { // Manufacturer setup if (apiPart.Manufacturer_Id == null) { if (!string.IsNullOrEmpty(apiPart.Manufacturer_Name)) { var man = db.Manufacturer.Where(a => a.Name.ToLower().Equals(apiPart.Manufacturer_Name.ToLower())).FirstOrDefault(); if (man != null) { apiPart.Manufacturer_Id = man.Id; } else { db.Manufacturer.Add(new Manufacturer() { Name = apiPart.Manufacturer_Name, Full_Name = apiPart.Manufacturer_Name, Notes = "Created through Part API", CreateDate = DateTime.Now }); db.SaveChangesAsync(); var newMan = db.Manufacturer.Where(a => a.Name.Equals(apiPart.Manufacturer_Name)).FirstOrDefault(); apiPart.Manufacturer_Id = newMan.Id; } } } // Package setup if (apiPart.Package_Id == null) { if (!string.IsNullOrEmpty(apiPart.Package_Name)) { var man = db.Package.Where(a => a.Name.ToLower().Equals(apiPart.Package_Name.ToLower())).FirstOrDefault(); if (man != null) { apiPart.Package_Id = man.Id; } else { db.Package.Add(new Package() { Name = apiPart.Package_Name, Notes = "Created through Part API", CreateDate = DateTime.Now }); db.SaveChangesAsync(); var newMan = db.Package.Where(a => a.Name.Equals(apiPart.Package_Name)).FirstOrDefault(); apiPart.Package_Id = newMan.Id; } } } // Location setup if (apiPart.Location_Id == null) { if (!string.IsNullOrEmpty(apiPart.Location_Name)) { var man = db.Location.Where(a => a.Name.ToLower().Equals(apiPart.Location_Name.ToLower())).FirstOrDefault(); if (man != null) { apiPart.Location_Id = man.Id; } else { db.Location.Add(new Location() { Name = apiPart.Location_Name, Notes = "Created through Part API", CreateDate = DateTime.Now }); db.SaveChangesAsync(); var newMan = db.Location.Where(a => a.Name.Equals(apiPart.Location_Name)).FirstOrDefault(); apiPart.Location_Id = newMan.Id; } } } // Type setup if (apiPart.Type_Id == null) { if (!string.IsNullOrEmpty(apiPart.Type_Name)) { var man = db.Type.Where(a => a.Name.ToLower().Equals(apiPart.Type_Name.ToLower())).FirstOrDefault(); if (man != null) { apiPart.Type_Id = man.Id; } else { db.Type.Add(new Models.Type() { Name = apiPart.Type_Name, Notes = "Created through Part API", CreateDate = DateTime.Now }); db.SaveChangesAsync(); var newMan = db.Type.Where(a => a.Name.Equals(apiPart.Type_Name)).FirstOrDefault(); apiPart.Type_Id = newMan.Id; } } } // Finally create Part try { var part = AutoMapper.Mapper.Map <Part>(apiPart); part.CreateDate = DateTime.Now; db.Part.Add(part); db.SaveChangesAsync(); return(part.Id); } catch { return(0); } }