public Message AddOrEdit(PricingDetail pricingDetail)
        {
            var message = new Message();
            var ID      = pricingDetail.PricingDetailID;
            int result  = _iPricingDetailRepository.AddOrEdit(pricingDetail);

            try
            {
                if (result > 0)
                {
                    if (Convert.ToInt32(ID) > 0)
                    {
                        message = Message.SetMessages.SetSuccessMessage("Submission Updated Successfully!");
                    }
                    else
                    {
                        message = Message.SetMessages.SetSuccessMessage("Submission Successful!");
                    }
                }
                else
                {
                    message = Message.SetMessages.SetErrorMessage("Could not be submitted!");
                }
            }
            catch (Exception e)
            {
                message = Message.SetMessages.SetWarningMessage(e.Message.ToString());
            }

            return(message);
        }
        public ActionResult AddOrEdit(int id = 0)
        {
            PricingDetail pricingDetail = new PricingDetail();

            if (id != 0)
            {
                pricingDetail = _iPricingDetailManager.GetAPricingDetail(id);
            }
            return(View(pricingDetail));
        }
Ejemplo n.º 3
0
        public async static Task <IDTO> AddUpdate(PricingDetail pricingDetail)
        {
            string SPName  = "";
            string message = "";
            OracleDynamicParameters oracleParams = new OracleDynamicParameters();
            ComplateOperation <int> complate     = new ComplateOperation <int>();

            if (pricingDetail.ID.HasValue)
            {
                oracleParams.Add(PricingDetailsSpParams.PARAMETER_ID, OracleDbType.Int64, ParameterDirection.Input, (object)pricingDetail.ID ?? DBNull.Value);

                SPName  = PricingDetailsSpName.SP_UPADTE_PRICING_DETAIL;
                message = "Updated Successfully";
            }
            else
            {
                oracleParams.Add(PricingDetailsSpParams.PARAMETER_ID, OracleDbType.Int64, ParameterDirection.Output);
                SPName  = PricingDetailsSpName.SP_INSERT_PRICING_DETAIL;
                message = "Inserted Successfully";
            }


            oracleParams.Add(PricingDetailsSpParams.PARAMETER_CREATED_BY, OracleDbType.Varchar2, ParameterDirection.Input, (object)pricingDetail.CreatedBy ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_CREATION_DATE, OracleDbType.Date, ParameterDirection.Input, (object)pricingDetail.CreationDate ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_MODIFIED_BY, OracleDbType.Varchar2, ParameterDirection.Input, (object)pricingDetail.ModifiedBy ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_MODIFICATION_DATE, OracleDbType.Date, ParameterDirection.Input, (object)pricingDetail.ModificationDate ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_STATUS, OracleDbType.Int64, ParameterDirection.Input, (object)pricingDetail.Status ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_STATUS_DATE, OracleDbType.Date, ParameterDirection.Input, (object)pricingDetail.StatusDate ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_EFFECTIVE_DATE, OracleDbType.Date, ParameterDirection.Input, (object)pricingDetail.EffectiveDate ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_EXPIRY_DATE, OracleDbType.Date, ParameterDirection.Input, (object)pricingDetail.ExpiryDate ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_ST_PRD_ID, OracleDbType.Int64, ParameterDirection.Input, (object)pricingDetail.ProductID ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_ST_PRDT_ID, OracleDbType.Int64, ParameterDirection.Input, (object)pricingDetail.ProductDetailID ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_ST_LOB, OracleDbType.Int64, ParameterDirection.Input, (object)pricingDetail.LineOfBusiness ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_ST_SUB_LOB, OracleDbType.Int64, ParameterDirection.Input, (object)pricingDetail.SubLineOfBusiness ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_IS_FACTOR, OracleDbType.Int16, ParameterDirection.Input, (object)pricingDetail.IsFactor ?? DBNull.Value);
            oracleParams.Add(PricingDetailsSpParams.PARAMETER_ST_PRD_PRIC_ID, OracleDbType.Int64, ParameterDirection.Input, (object)pricingDetail.PricingID ?? DBNull.Value);

            if (await NonQueryExecuter.ExecuteNonQueryAsync(SPName, oracleParams) == -1)
            {
                complate.message = "Operation Success";
            }

            else
            {
                complate.message = "Operation Failed";
            }

            return(complate);
        }
Ejemplo n.º 4
0
        public async static Task <IDTO> DeletePricingDetail(PricingDetail pricingDetail)
        {
            OracleDynamicParameters oracleParams = new OracleDynamicParameters();
            ComplateOperation <int> complate     = new ComplateOperation <int>();
            var dyParam = new OracleDynamicParameters();

            dyParam.Add(PricingDetailsSpParams.PARAMETER_ID, OracleDbType.Int64, ParameterDirection.Input, (object)pricingDetail.ID ?? DBNull.Value);
            if (await NonQueryExecuter.ExecuteNonQueryAsync(PricingDetailsSpName.SP_DELETE_PRICING_DETAIL, dyParam) == -1)
            {
                complate.message = "Operation Successed";
            }
            else
            {
                complate.message = "Operation Failed";
            }
            return(complate);
        }
Ejemplo n.º 5
0
        public int AddOrEdit(PricingDetail pricingDetail)
        {
            if (pricingDetail.PricingDetailID == 0)
            {
                pricingDetail.CreatedDate = DateTime.Now;
                pricingDetail.UpdatedDate = DateTime.Now;
                pricingDetail.CreatedBy   = 1;
                pricingDetail.UpdatedBy   = 1;
                _dbContext.PricingDetails.Add(pricingDetail);
            }
            else
            {
                pricingDetail.UpdatedBy               = 1;
                pricingDetail.UpdatedDate             = DateTime.Now;
                _dbContext.Entry(pricingDetail).State = EntityState.Modified;
            }

            return(_dbContext.SaveChanges());
        }
        public ActionResult AddOrEdit(PricingDetail pricingDetail)
        {
            var data = _iPricingDetailManager.AddOrEdit(pricingDetail);

            return(Json(new { messageType = data.MessageType, message = data.ReturnMessage, html = GlobalClass.RenderRazorViewToString(this, "ViewAll", _iPricingDetailManager.GetAllPricingDetail()) }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 7
0
        public PricingDetail GetPricingDetails(OrderDetailInformation OrderDetails, NorthwindConfig config)
        {
            PricingDetail result = new PricingDetail();
            string        customerID;
            int           productId;
            List <int>    productIds = new List <int>();

            int recordCount;

            if (!OrderDetails.Currency.Equals(config.CurrencyCode, StringComparison.InvariantCultureIgnoreCase))
            {
                result.Result       = false;
                result.ErrorMessage = Resources.ErrorMessages_CurrencyNotSupported;
                return(result);
            }

            if (!OrderDetails.PricingListId.Equals(Constants.DefaultValues.PriceList.ID, StringComparison.InvariantCultureIgnoreCase))
            {
                result.Result       = false;
                result.ErrorMessage = Resources.ErrorMessages_PriceListNotSupported;
                return(result);
            }


            if (OrderDetails.AccountId == null)
            {
                result.Result       = false;
                result.ErrorMessage = Resources.ErrorMessages_AccountNotFound;
                return(result);
            }

            customerID = OrderDetails.AccountId;
            if (!(customerID.StartsWith(Constants.CustomerIdPrefix, StringComparison.InvariantCultureIgnoreCase)))
            {
                result.Result       = false;
                result.ErrorMessage = Resources.ErrorMessages_OnlyCustomersSupported;
                return(result);
            }

            customerID = customerID.Substring(Constants.CustomerIdPrefix.Length);
            DataSet          dataSet = new DataSet();
            OleDbDataAdapter dataAdapter;
            string           sqlQuery = "Select * from Customers where CustomerID = '" + customerID + "'";


            using (OleDbConnection connection = new OleDbConnection(config.ConnectionString))
            {
                dataAdapter = new OleDbDataAdapter(sqlQuery, connection);
                if (dataAdapter.Fill(dataSet, "Customers") == 0)
                {
                    result.Result       = false;
                    result.ErrorMessage = Resources.ErrorMessages_AccountNotFound;
                    return(result);
                }
            }


            result.Result       = true;
            result.ErrorMessage = "";

            result.PricingListId = Constants.DefaultValues.PriceList.ID;


            DataSets.Product product = new DataSets.Product();
            using (OleDbConnection connection = new OleDbConnection(config.ConnectionString))
            {
                DataSets.ProductTableAdapters.ProductsTableAdapter tableAdapter;
                tableAdapter            = new DataSets.ProductTableAdapters.ProductsTableAdapter();
                tableAdapter.Connection = connection;
                recordCount             = tableAdapter.Fill(product.Products);
            }

            result.PricingDetailLineItems = new PricingDetailLineItem[OrderDetails.LineItemDetails.Length];
            DataSets.Product.ProductsRow row;
            decimal totalPrice            = 0;
            decimal totalLineItemDiscount = 0;

            result.ErrorMessage = "";
            for (int index = 0; index < OrderDetails.LineItemDetails.Length; index++)
            {
                result.PricingDetailLineItems[index]              = new PricingDetailLineItem();
                result.PricingDetailLineItems[index].Description  = OrderDetails.LineItemDetails[index].Description;
                result.PricingDetailLineItems[index].LineItemId   = OrderDetails.LineItemDetails[index].LineItemId;
                result.PricingDetailLineItems[index].LineType     = OrderDetails.LineItemDetails[index].LineType;
                result.PricingDetailLineItems[index].SynchMessage = "";

                try
                {
                    productId = Convert.ToInt32(OrderDetails.LineItemDetails[index].ProductId);
                }
                catch (Exception)
                {
                    result.PricingDetailLineItems[index].SynchMessage = String.Format(Resources.ErrorMessages_ProductIdWrongFormat, OrderDetails.LineItemDetails[index].ProductId.ToString());
                    result.ErrorMessage += result.PricingDetailLineItems[index].SynchMessage + "\r\n";
                    result.Result        = false;
                    continue;
                }
                if (productIds.Contains(productId))
                {
                    result.PricingDetailLineItems[index].SynchMessage = String.Format(Resources.ErrorMessages_OrderWithProductTwice, productId);
                    //result.ErrorMessage += result.PricingDetailLineItems[index].SynchMessage + "\r\n";
                    //result.Result = false;
                    //continue;
                }

                productIds.Add(productId);

                row = product.Products.FindByProductID(productId);
                if (row == null)
                {
                    result.PricingDetailLineItems[index].SynchMessage = String.Format(Resources.ErrorMessages_ProductIdNotFound, productId);
                    result.ErrorMessage += result.PricingDetailLineItems[index].SynchMessage + "\r\n";
                    result.Result        = false;
                    continue;
                }


                //result.PricingDetailLineItems[index].RepricingStatus = ??;

                //result.PricingDetailLineItems[index].StockQuantity = row.IsUnitsInStockNull() ? 0 : (int)row.UnitsInStock;

                result.PricingDetailLineItems[index].ListPrice = row.IsUnitPriceNull() ? (decimal)0 : row.UnitPrice;

                result.PricingDetailLineItems[index].Tax = 0;
                //result.PricingDetailLineItems[index].TaxRate = "no Tax";
                result.PricingDetailLineItems[index].TaxRate = "0";

                result.PricingDetailLineItems[index].DiscountRate = 0;
                result.PricingDetailLineItems[index].Discount     = 0;
                if (OrderDetails.LineItemDetails[index].Quantity >= 10)
                {
                    result.PricingDetailLineItems[index].DiscountRate = 10;
                    result.PricingDetailLineItems[index].Discount     = 10;
                }

                result.PricingDetailLineItems[index].DiscountSum = ((result.PricingDetailLineItems[index].DiscountRate / 100)) * result.PricingDetailLineItems[index].ListPrice;

                result.PricingDetailLineItems[index].QuotedPrice      = result.PricingDetailLineItems[index].ListPrice * (1 - (result.PricingDetailLineItems[index].DiscountRate / 100));
                result.PricingDetailLineItems[index].QuotedPriceTotal = OrderDetails.LineItemDetails[index].Quantity * result.PricingDetailLineItems[index].QuotedPrice;
                totalPrice            += result.PricingDetailLineItems[index].QuotedPriceTotal;
                totalLineItemDiscount += OrderDetails.LineItemDetails[index].Quantity * result.PricingDetailLineItems[index].DiscountSum;
            }

            result.DiscountAmt  = 0;
            result.DiscountPC   = 0;
            result.DiscountType = "";
            result.GrossAmt     = totalPrice;
            result.LineItemDisc = totalLineItemDiscount;
            result.NetAmt       = totalPrice;
            //result.NoDiscAmt = 0; //????
            result.PricingListId = OrderDetails.PricingListId;
            result.OrderQuoteId  = OrderDetails.OrderQuoteId;
            //result.Reference = "";
            result.Tax = 0;

            return(result);
        }
Ejemplo n.º 8
0
        public int Insert(Repo.Models.Flights.Flight model, string origin, string destionation, string departureDate, string returnDate = null, string currency = Default.CURRENCY, int adults = Default.ADULTS)
        {
            if (model == null || String.IsNullOrEmpty(origin) || String.IsNullOrEmpty(destionation) || String.IsNullOrEmpty(departureDate))
            {
                throw new ArgumentNullException();
            }

            if (model.Data == null || model.Dictionaries == null || model.Meta == null)
            {
                throw new NullReferenceException();
            }

            if (model.Dictionaries.Currencies != null)
            {
                foreach (var item in model.Dictionaries.Currencies)
                {
                    if (unitOfWork.Currencies.FindByCode(item.Key) == null)
                    {
                        unitOfWork.Currencies.Insert(item);
                    }
                }
            }

            if (model.Dictionaries.Aircraft != null)
            {
                foreach (var item in model.Dictionaries.Aircraft)
                {
                    if (unitOfWork.Aircrafts.FindByCode(item.Key) == null)
                    {
                        unitOfWork.Aircrafts.Insert(item);
                    }
                }
            }

            if (model.Dictionaries.Carriers != null)
            {
                foreach (var item in model.Dictionaries.Carriers)
                {
                    if (unitOfWork.Carriers.FindByCode(item.Key) == null)
                    {
                        unitOfWork.Carriers.Insert(item);
                    }
                }
            }

            if (model.Dictionaries.Locations != null)
            {
                foreach (var item in model.Dictionaries.Locations)
                {
                    if (unitOfWork.Locations.FindByCode(item.Key) == null)
                    {
                        unitOfWork.Locations.Insert(new KeyValuePair <string, string>(item.Key, item.Value.detailedName));
                    }
                }
            }


            Flight flight = new Flight()
            {
                Adults        = adults,
                CurrencyId    = unitOfWork.Currencies.FindByCode(model.Meta.Currency).CurrencyId,
                Origin        = origin,
                Destination   = destionation,
                DepartureDate = DateTime.Parse(departureDate),
                ReturnDate    = DateTime.Parse(returnDate ?? DateTime.MinValue.ToString()),
                Link          = model.Meta.Links.Self,
            };

            flight.FlightId = unitOfWork.Flights.Insert(flight);

            try
            {
                foreach (var item in model.Data)
                {
                    FlightOffer flightOffer = new FlightOffer
                    {
                        Id       = item.Id,
                        Type     = item.Type,
                        FlightId = flight.FlightId,
                    };

                    var flightOfferId = unitOfWork.FlightOffers.Insert(flightOffer);
                    foreach (var offer in item.OfferItems)
                    {
                        OfferItem offerItem = new OfferItem();
                        offerItem.FlightOfferId = flightOfferId;

                        Price price = new Price
                        {
                            Total      = offer.Price.Total,
                            TotalTaxes = offer.Price.TotalTaxes,
                        };
                        offerItem.PriceId = unitOfWork.Prices.Insert(price);

                        if (offer.PricePerAdult != null)
                        {
                            Price adult = new Price
                            {
                                Total      = offer.PricePerAdult.Total,
                                TotalTaxes = offer.PricePerAdult.TotalTaxes,
                            };
                            offerItem.PricePerAdultId = unitOfWork.Prices.Insert(adult);
                        }

                        if (offer.PricePerChild != null)
                        {
                            Price child = new Price
                            {
                                Total      = offer.PricePerChild.Total,
                                TotalTaxes = offer.PricePerChild.TotalTaxes,
                            };
                            offerItem.PricePerChildId = unitOfWork.Prices.Insert(child);
                        }

                        if (offer.PricePerInfant != null)
                        {
                            Price infant = new Price
                            {
                                Total      = offer.PricePerInfant.Total,
                                TotalTaxes = offer.PricePerInfant.TotalTaxes,
                            };
                            offerItem.PricePerInfantId = unitOfWork.Prices.Insert(infant);
                        }

                        if (offer.PricePerSenior != null)
                        {
                            Price senior = new Price
                            {
                                Total      = offer.PricePerSenior.Total,
                                TotalTaxes = offer.PricePerSenior.TotalTaxes,
                            };
                            offerItem.PricePerSeniorId = unitOfWork.Prices.Insert(senior);
                        }

                        var offerItemId = unitOfWork.OfferItems.Insert(offerItem);
                        foreach (var ser in offer.Services)
                        {
                            Data.Flights.Service service = new Data.Flights.Service();
                            service.OfferItemId = offerItemId;

                            var serviceId = unitOfWork.Services.Insert(service);
                            if (ser.Segments != null)
                            {
                                foreach (var seg in ser.Segments)
                                {
                                    Segment segment = new Segment();
                                    segment.ServiceId = serviceId;

                                    FlightSegment flightSegment = new FlightSegment();
                                    flightSegment.AircraftId = unitOfWork.Aircrafts.FindByCode(seg.FlightSegment.Aircraft.Code).AircraftId;

                                    FlightEndPoint arrival = new FlightEndPoint
                                    {
                                        At         = seg.FlightSegment.Arrival.At,
                                        LocationId = unitOfWork.Locations.FindByCode(seg.FlightSegment.Arrival.IataCode).LocationId,
                                        Terminal   = seg.FlightSegment.Arrival.Terminal,
                                    };
                                    flightSegment.ArrivalId = unitOfWork.FlightEndPoints.Insert(arrival);
                                    flightSegment.CarrierId = unitOfWork.Carriers.FindByCode(seg.FlightSegment.CarrierCode).CarrierId;

                                    FlightEndPoint departure = new FlightEndPoint
                                    {
                                        At         = seg.FlightSegment.Departure.At,
                                        LocationId = unitOfWork.Locations.FindByCode(seg.FlightSegment.Departure.IataCode).LocationId,
                                        Terminal   = seg.FlightSegment.Departure.Terminal,
                                    };
                                    flightSegment.DepartureId = unitOfWork.FlightEndPoints.Insert(departure);
                                    flightSegment.Duration    = seg.FlightSegment.Duration;
                                    flightSegment.Number      = seg.FlightSegment.Number;

                                    Operation operation = new Operation
                                    {
                                        CarrierId = unitOfWork.Carriers.FindByCode(seg.FlightSegment.Operating.CarrierCode).CarrierId,
                                        Number    = seg.FlightSegment.Operating.Number,
                                    };
                                    flightSegment.OperationId = unitOfWork.Operations.Insert(operation);

                                    segment.FlightSegmentId = unitOfWork.FlightSegments.Insert(flightSegment);

                                    if (seg.FlightSegment.Stops != null)
                                    {
                                        foreach (var stop in seg.FlightSegment.Stops)
                                        {
                                            FlightStop flightStop = new FlightStop
                                            {
                                                AircraftId      = unitOfWork.Aircrafts.FindByCode(stop.NewAircraft.Code).AircraftId,
                                                ArrivalAt       = stop.ArrivalAt,
                                                CarrierId       = unitOfWork.Carriers.FindByCode(stop.IataCode).CarrierId,
                                                DepartureAt     = stop.DepartureAt,
                                                Duration        = stop.Duration,
                                                FlightSegmentId = segment.FlightSegmentId,
                                            };
                                            unitOfWork.FlightStops.Insert(flightStop);
                                        }
                                    }

                                    if (seg.PricingDetailPerAdult != null)
                                    {
                                        PricingDetail adult = new PricingDetail
                                        {
                                            Availability = seg.PricingDetailPerAdult.Availability,
                                            FareBasis    = seg.PricingDetailPerAdult.FareBasis,
                                            FareClass    = seg.PricingDetailPerAdult.FareClass,
                                            TravelClass  = seg.PricingDetailPerAdult.TravelClass,
                                        };
                                        segment.PricingDetailPerAdultId = unitOfWork.PricingDetails.Insert(adult);
                                    }

                                    if (seg.PricingDetailPerChild != null)
                                    {
                                        PricingDetail child = new PricingDetail
                                        {
                                            Availability = seg.PricingDetailPerChild.Availability,
                                            FareBasis    = seg.PricingDetailPerChild.FareBasis,
                                            FareClass    = seg.PricingDetailPerChild.FareClass,
                                            TravelClass  = seg.PricingDetailPerChild.TravelClass,
                                        };
                                        segment.PricingDetailPerChildId = unitOfWork.PricingDetails.Insert(child);
                                    }

                                    if (seg.PricingDetailPerInfant != null)
                                    {
                                        PricingDetail infant = new PricingDetail
                                        {
                                            Availability = seg.PricingDetailPerInfant.Availability,
                                            FareBasis    = seg.PricingDetailPerInfant.FareBasis,
                                            FareClass    = seg.PricingDetailPerInfant.FareClass,
                                            TravelClass  = seg.PricingDetailPerInfant.TravelClass,
                                        };
                                        segment.PricingDetailPerInfantId = unitOfWork.PricingDetails.Insert(infant);
                                    }

                                    if (seg.PricingDetailPerSenior != null)
                                    {
                                        PricingDetail senior = new PricingDetail
                                        {
                                            Availability = seg.PricingDetailPerSenior.Availability,
                                            FareBasis    = seg.PricingDetailPerSenior.FareBasis,
                                            FareClass    = seg.PricingDetailPerSenior.FareClass,
                                            TravelClass  = seg.PricingDetailPerSenior.TravelClass,
                                        };
                                        segment.PricingDetailPerSeniorId = unitOfWork.PricingDetails.Insert(senior);
                                    }

                                    var segmentId = unitOfWork.Segments.Insert(segment);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(flight.FlightId);
        }