public TotalCostView InsertUpdateMaintenanceCost(Mechanics mechanics)
        {
            using (var context = new InsightsDBEntities())
            {
                var record = context.Mechanics
                             .SingleOrDefault(x => x.Year == mechanics.Year &&
                                              x.BuildingId == mechanics.BuildingId && x.Type == mechanics.Type);
                if (record == null)
                {
                    mechanics.IsActive  = true;
                    mechanics.CreatedOn = DateTime.Now;
                    mechanics.UpdatedOn = DateTime.Now;
                    context.Mechanics.Add(mechanics);
                    context.SaveChanges();
                }
                else
                {
                    record.UpdatedOn = DateTime.Now;
                    record.Cost      = mechanics.Cost;
                    context.SaveChanges();
                }
            }
            TotalCostView tcv = new TotalCostView();

            tcv.BuildingId = mechanics.BuildingId;
            tcv.Year       = mechanics.Year;
            tcv.Type       = mechanics.Type.ToString();
            return(GetMaintenanceCost(tcv));
        }
 public List <MechanicsCostView> InsertUpdateMechanicsCostByType(Mechanics mechanics)
 {
     using (var context = new InsightsDBEntities())
     {
         var result = context.Mechanics
                      .SingleOrDefault(x => x.Type == mechanics.Type &&
                                       x.Year == mechanics.Year &&
                                       x.BuildingId == mechanics.BuildingId);
         if (result == null)
         {
             mechanics.IsActive  = true;
             mechanics.CreatedOn = DateTime.Now;
             mechanics.UpdatedOn = DateTime.Now;
             context.Mechanics.Add(mechanics);
             context.SaveChanges();
         }
         else
         {
             result.Cost      = mechanics.Cost;
             result.UpdatedOn = DateTime.Now;
             context.SaveChanges();
         }
     }
     return(GetMechanicsCostByType(mechanics));
 }