예제 #1
0
        public RepositoryActionResult <LawFirm> Update(LawFirm t)
        {
            try
            {
                var existingData = _ctx.LawFirms.FirstOrDefault(exp => exp.Id == t.Id);

                if (existingData == null)
                {
                    return(new RepositoryActionResult <LawFirm>(t, RepositoryActionStatus.NotFound));
                }

                _ctx.Entry(existingData).State = EntityState.Detached;
                _ctx.LawFirms.Attach(t);
                _ctx.Entry(t).State = EntityState.Modified;


                var result = _ctx.SaveChanges();
                if (result > 0)
                {
                    return(new RepositoryActionResult <LawFirm>(t, RepositoryActionStatus.Updated));
                }
                else
                {
                    return(new RepositoryActionResult <LawFirm>(t, RepositoryActionStatus.NothingModified, null));
                }
            }
            catch (Exception ex)
            {
                return(new RepositoryActionResult <LawFirm>(null, RepositoryActionStatus.Error, ex));
            }
        }
예제 #2
0
        public IHttpActionResult Post([FromBody] LawFirm suit)
        {
            try
            {
                if (suit == null)
                {
                    return(BadRequest());
                }



                var result = _repository.Insert(suit);
                if (result.Status == RepositoryActionStatus.Created)
                {
                    // map to dto
                    return(Created <LawFirm>(Request.RequestUri
                                             + "/" + suit.Id.ToString(), suit));
                }

                return(BadRequest());
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
    // generate a new institution
    public static Institution GeneratorInstitution(Person owner, String type, Plot location)
    {
//            string type = GetRandomType();
        Institution newInstitution;

        switch (type)
        {
        case "ConstructionCompany":
            newInstitution = new ConstructionCompany(owner, location, type);
            break;

        case "School":
            newInstitution = new School(owner, location, type);
            break;

        case "Hospital":
            newInstitution = new Hospital(owner, location, type);
            break;

        case "LawFirm":
            newInstitution = new LawFirm(owner, location, type);
            break;

        case "ApartmentComplex":
            newInstitution = new ApartmentComplex(owner, location, type);
            break;

        default:
            newInstitution = new Institution(owner, location, type);
            break;
        }

        if (newInstitution.getType().Equals("ConstructionCompany"))
        {
            constructionCompanyList.Add(newInstitution as ConstructionCompany);
        }

        institutionList.Add(newInstitution);

        if (InstitutionDictionary.ContainsKey(type))
        {
            List <Institution> tempList = InstitutionDictionary[type];
            tempList.Add(newInstitution);
        }
        else
        {
            InstitutionDictionary[type] = new List <Institution> {
                newInstitution
            };
        }

        Logger.Log("Institution", type, owner.name, "(" + location.x_pos + "," + location.y_pos + ")");

        return(newInstitution);
    }
예제 #4
0
 public RepositoryActionResult <LawFirm> Insert(LawFirm t)
 {
     try
     {
         _ctx.LawFirms.Add(t);
         var result = _ctx.SaveChanges();
         if (result > 0)
         {
             return(new RepositoryActionResult <LawFirm>(t, RepositoryActionStatus.Created));
         }
         else
         {
             return(new RepositoryActionResult <LawFirm>(t, RepositoryActionStatus.NothingModified, null));
         }
     }
     catch (Exception ex)
     {
         return(new RepositoryActionResult <LawFirm>(null, RepositoryActionStatus.Error, ex));
     }
 }