Пример #1
0
        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."
                    });
                }
            }
        }
Пример #2
0
        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);
            }
        }