Ejemplo n.º 1
0
        public static List <string> InsertDataToDB(List <DebrisHaulTicket> tickets)
        {
            var ErrorTickets = new List <string>();
            int record       = 1;

            foreach (DebrisHaulTicket t in tickets)
            {
                var dbArgs = new Dapper.DynamicParameters();
                dbArgs.Add("@HaulTicketBarcode", t.HaulTicketBarcode.Trim());
                dbArgs.Add("@TruckId", t.TruckId.Trim());
                dbArgs.Add("@DebrisType", t.DebrisType.Trim());
                dbArgs.Add("@Latitude", t.Latitude.Trim());
                dbArgs.Add("@Longitude", t.Longitude.Trim());
                dbArgs.Add("@Sector", t.Sector.Trim());
                dbArgs.Add("@Zone", t.Zone.Trim());
                dbArgs.Add("@PropertyType", t.PropertyType.Trim());
                dbArgs.Add("@CreatedBy", t.CreatedBy.Trim());
                dbArgs.Add("@CreateDate", t.CreateDate.Trim());

                // This will probably be better if using a merge insert only.

                string sql = $@"
          USE DebrisCollectionTest;      
          insert into DebrisCollection
              (HaulTicketBarcode,
              TruckId,
              PropertyType,
              DebrisType,
              Latitude,
              Longitude,
              Sector,
              Zone,
              CreatedBy,
              CreateDate)
          VALUES
              (@HaulTicketBarcode,
              @TruckId,
              @PropertyType,
              @DebrisType,
              CAST(@Latitude as FLOAT),
              CAST(@Longitude as FLOAT),
              @Sector,
              @Zone,
              @CreatedBy,
              @CreateDate)";

                try
                {
                    if (Constants.Exec_Query_Insert(sql, dbArgs) < 0)
                    {
                        ErrorTickets.Add(record.ToString().PadLeft(5) + "\tHaulTicketBarcode " + t.HaulTicketBarcode + " already exists.");
                    }
                    record++;
                }
                catch (Exception ex)
                {
                    Constants.Log(ex, sql);
                }
            }
            return(ErrorTickets);
        }