Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public bool InsertOrUpdateListPriceDetails(List<ListPriceDetail> listPriceDetails)
- {
- try
- {
- for (int i = 0; i < listPriceDetails.Count(); i++)
- {
- var listPriceDetail = listPriceDetails[i];
- int? ID = GetListPriceDetailID(listPriceDetail);
- if (ID.HasValue)
- {
- listPriceDetail.ID = ID.Value;
- if (!UpdateListPriceDetail(listPriceDetail)) return false;
- }
- else
- {
- ID = InsertListPriceDetail(listPriceDetail);
- if (!ID.HasValue) return false;
- listPriceDetail.ID = ID.Value;
- }
- }
- }
- catch (Exception e)
- {
- Debug.WriteLine(e.Message);
- Transaction.Rollback();
- return false;
- }
- return true;
- }
- public bool UpdateListPriceDetail(ListPriceDetail listPriceDetail)
- {
- try
- {
- //Se nessun campo è stato modificato l'update non ha senso farlo e quindi l'operazione si conclude con successo
- if (!listPriceDetail.CanBeUpdated()) return true;
- command.Parameters.Clear();
- string query = "UPDATE [List_Price_Details] SET ";
- if (listPriceDetail.MinimumStay.HasValue)
- {
- query += "[Minimum Stay] = @minimumStay,";
- command.Parameters.AddWithValue("@minimumStay", listPriceDetail.MinimumStay);
- }
- if (listPriceDetail.Quantity.HasValue)
- {
- query += "[Quantity] = @quantity,";
- command.Parameters.AddWithValue("@quantity", listPriceDetail.Quantity);
- }
- if (listPriceDetail.Release.HasValue)
- {
- query += "[Release] = @release,";
- command.Parameters.AddWithValue("@release", listPriceDetail.Release);
- }
- if (listPriceDetail.UnitCost.HasValue)
- {
- query += "[Unit Cost] = @unitCost,";
- command.Parameters.AddWithValue("@unitCost", listPriceDetail.UnitCost);
- }
- if (listPriceDetail.BedAndBreakfast.HasValue)
- {
- query += "[Bed and Breakfast] = @beb,";
- command.Parameters.AddWithValue("@beb", listPriceDetail.BedAndBreakfast);
- }
- if (listPriceDetail.HalfBoard.HasValue)
- {
- query += "[Half Board] = @halfBoard,";
- command.Parameters.AddWithValue("@halfBoard", listPriceDetail.HalfBoard);
- }
- if (listPriceDetail.FullBoard.HasValue)
- {
- query += "[Full Board] = @fullBoard,";
- command.Parameters.AddWithValue("@fullBoard", listPriceDetail.FullBoard);
- }
- if (listPriceDetail.AllInclusive.HasValue)
- {
- query += "[All Inclusive] = @allInclusive,";
- command.Parameters.AddWithValue("@allInclusive", listPriceDetail.AllInclusive);
- }
- if (listPriceDetail.CheckIn.HasValue)
- {
- query += "[Check-In] = @checkIn,";
- command.Parameters.AddWithValue("@checkIn", listPriceDetail.CheckIn);
- }
- if (listPriceDetail.CheckOut.HasValue)
- {
- query += "[Check-Out] = @checkOut,";
- command.Parameters.AddWithValue("@checkOut", listPriceDetail.CheckOut);
- }
- if (!string.IsNullOrEmpty(listPriceDetail.PLStop))
- {
- query += "[PL Stop] = @plStop,";
- command.Parameters.AddWithValue("@plStop", listPriceDetail.PLStop);
- }
- if (listPriceDetail.PackageID.HasValue)
- {
- query += "[Package ID] = @packageID,";
- command.Parameters.AddWithValue("@packageID", listPriceDetail.PackageID);
- }
- query = query.Remove(query.Length - 1);
- query += " WHERE [ID] = @id";
- command.Parameters.AddWithValue("@id", listPriceDetail.ID);
- command.CommandText = query;
- int row = command.ExecuteNonQuery();
- //Restituisce true solo se 1 riga viene modificata
- if (row != 1)
- {
- Transaction.Rollback();
- return false;
- }
- return true;
- }
- catch (Exception)
- {
- Transaction.Rollback();
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement