public bool CancelOfferRequest(OffersModel offerList) { GenericInitialization gen = new GenericInitialization(); try { using (gen.sqlConnection = new SqlConnection(gen.connectionString)) { gen.sqlConnection.Open(); gen.queryString = "IF NOT EXISTS(SELECT Mapping_Id FROM [ReachHelp].[dbo].[Offer_Request_Mapping] WHERE [Request_Id]=@requestId AND [Offer_Id] = @offerId) INSERT INTO [ReachHelp].[dbo].[Offer_Request_Mapping]([Request_Id],[Offer_Id],[Status]) VALUES(@requestId,@offerId,@transactionStatus);ELSE UPDATE [ReachHelp].[dbo].[Offer_Request_Mapping] SET [Status]=@status WHERE Request_Id=@requestId AND Offer_Id=@offerId;UPDATE [ReachHelp].[dbo].[My_Requests] SET [Status]=@requestStatus WHERE My_Request_Id = @requestId"; using (gen.sqlCommand = new SqlCommand(gen.queryString, gen.sqlConnection)) { gen.sqlCommand.Parameters.AddWithValue("@offerId", offerList.offerId); gen.sqlCommand.Parameters.AddWithValue("@requestId", offerList.requestId); gen.sqlCommand.Parameters.AddWithValue("@transactionStatus", "Cancelled"); gen.sqlCommand.Parameters.AddWithValue("@requestStatus", "Pending"); if (gen.sqlCommand.ExecuteNonQuery() > 0) { return(true); } } } } catch (SqlException ex) { return(false); } catch (Exception ex) { return(false); } return(false); }
public bool ConfirmOffer(OffersModel offerResponse) { GenericInitialization gen = new GenericInitialization(); MessagingModel email = new MessagingModel(); try { using (gen.sqlConnection = new SqlConnection(gen.connectionString)) { gen.sqlConnection.Open(); gen.queryString = "IF NOT EXISTS(SELECT Mapping_Id FROM [ReachHelp].[dbo].[Offer_Request_Mapping] WHERE [Request_Id]=@requestId AND [Offer_Id] = @offerId) BEGIN INSERT INTO [ReachHelp].[dbo].[Offer_Request_Mapping]([Request_Id],[Offer_Id],[Status],[Confirmed_Date]) VALUES(@requestId,@offerId,@status,GETDATE());END ELSE BEGIN UPDATE [ReachHelp].[dbo].[My_Requests] SET [Status]= CASE WHEN @status='Reject' THEN 'Pending' ELSE 'Accepted' END WHERE My_Request_Id = @requestId ; UPDATE [ReachHelp].[dbo].[Offer_Request_Mapping] SET [Confirmed_Date]=GETDATE(),[Status]=CASE WHEN @status='Reject' THEN 'Pending' ELSE 'Accepted' END WHERE [Request_Id]=@requestId AND [Offer_Id] = @offerId; DECLARE @finalQuantity INT;SELECT @finalQuantity = CASE WHEN SCM.Measurable = 'Yes' AND @status='Confirm' THEN ORM.[Responded_Quantity] WHEN SCM.Measurable = 'Yes' AND @status='Reject' THEN 0 WHEN SCM.Measurable = 'No' AND @status='Confirm' THEN 0 WHEN SCM.Measurable = 'No' AND @status='Reject' THEN 0 ELSE 0 END FROM [ReachHelp].[dbo].[My_Offers] MO JOIN [ReachHelp].[dbo].[Offer_Request_Mapping] ORM ON ORM.Offer_Id = MO.My_Offer_Id JOIN [ReachHelp].[dbo].[Sub_Category_Master]SCM ON SCM.Sub_Category_Id = MO.Sub_Category_Id WHERE My_Offer_Id=@offerId AND Request_Id=@requestId; UPDATE [ReachHelp].[dbo].[My_Offers] SET Quantity = Quantity - CASE WHEN (@finalQuantity IS NOT NULL OR @finalQuantity!=0) THEN @finalQuantity ELSE 0 END WHERE My_Offer_Id=@offerId;UPDATE [ReachHelp].[dbo].[My_Offers] SET [Status] = CASE WHEN Quantity<=0 THEN 'Accepted' ELSE [Status] END WHERE My_Offer_Id=@offerId; END"; using (gen.sqlCommand = new SqlCommand(gen.queryString, gen.sqlConnection)) { gen.sqlCommand.Parameters.AddWithValue("@offerId", offerResponse.offerId); gen.sqlCommand.Parameters.AddWithValue("@requestId", offerResponse.requestId); gen.sqlCommand.Parameters.AddWithValue("@status", offerResponse.offerStatus); if (gen.sqlCommand.ExecuteNonQuery() > 0) { email.TriggerEmail(GetOffererDetails(offerResponse.offerId), "Offer Confirmed", "<!DOCTYPE html><html> <head> <meta charset=\"utf-8\"> </head> <body> <p> Dear User, </p><br><p>Well Done! Your Offer has been confirmed by the requestor. Login to <a href=\"http://reachelp.in\">ReachHelp<a> for more info. </p></body></html>"); return(true); } } } } catch (SqlException ex) { return(false); } catch (Exception ex) { return(false); } return(false); }
public bool RequestOffer(OffersModel offerResponse) { GenericInitialization gen = new GenericInitialization(); MessagingModel email = new MessagingModel(); try { using (gen.sqlConnection = new SqlConnection(gen.connectionString)) { gen.sqlConnection.Open(); gen.queryString = "IF NOT EXISTS(SELECT Mapping_Id FROM [ReachHelp].[dbo].[Offer_Request_Mapping] WHERE [Request_Id]=@requestId AND [Offer_Id] = @offerId) BEGIN INSERT INTO [ReachHelp].[dbo].[Offer_Request_Mapping]([Request_Id],[Offer_Id],[Status],[Requested_Date]) VALUES(@requestId,@offerId,@status,GETDATE());UPDATE [ReachHelp].[dbo].[My_Requests] SET [Status]=@status WHERE My_Request_Id = @requestId END"; using (gen.sqlCommand = new SqlCommand(gen.queryString, gen.sqlConnection)) { gen.sqlCommand.Parameters.AddWithValue("@offerId", offerResponse.offerId); gen.sqlCommand.Parameters.AddWithValue("@requestId", offerResponse.requestId); gen.sqlCommand.Parameters.AddWithValue("@status", "Requested"); if (gen.sqlCommand.ExecuteNonQuery() > 0) { email.TriggerEmail(GetOffererDetails(offerResponse.offerId), "Request for HELP", "<!DOCTYPE html><html> <head> <meta charset=\"utf-8\"> </head> <body> <p> Dear User, </p><br><p> A request has been made for your Offer. Kindly Login to <a href=\"http://reachelp.in\">ReachHelp<a> to respond. </p></body></html>"); return(true); } } } } catch (SqlException ex) { return(false); } catch (Exception ex) { return(false); } return(false); }
public bool CreateOffer(OffersModel myOffer) { GenericInitialization gen = new GenericInitialization(); try { using (gen.sqlConnection = new SqlConnection(gen.connectionString)) { gen.sqlConnection.Open(); gen.queryString = "INSERT INTO [ReachHelp].[dbo].[My_Offers]([Category_Id],[Sub_Category_Id],[Offered_By],[Quantity],[Unit],[Delivery_Mode],[Delivery_Address],[Description],[Image_Path],[Status]) VALUES(@categoryId,@subCategoryId,@offeredBy,@quantity,@unit,@deliveryMode,@deliveryAddress,@description,@imagePath,@postedStatus)"; using (gen.sqlCommand = new SqlCommand(gen.queryString, gen.sqlConnection)) { //@subCategoryId,@offeredBy,@quantity,@unit,@deliveryMode,@deliveryAddress,@postedStatus gen.sqlCommand.Parameters.AddWithValue("@categoryId", myOffer.offerCategoryId); gen.sqlCommand.Parameters.AddWithValue("@subCategoryId", myOffer.offerSubCategoryId); gen.sqlCommand.Parameters.AddWithValue("@offeredBy", myOffer.offeredById); gen.sqlCommand.Parameters.AddWithValue("@quantity", myOffer.offerQuantity); gen.sqlCommand.Parameters.AddWithValue("@unit", myOffer.offerUnit); gen.sqlCommand.Parameters.AddWithValue("@deliveryMode", myOffer.offerDeliveryMode); gen.sqlCommand.Parameters.AddWithValue("@deliveryAddress", myOffer.offerDeliveryAddress); gen.sqlCommand.Parameters.AddWithValue("@imagePath", string.Join(",", myOffer.imagePath.ToArray())); ; gen.sqlCommand.Parameters.AddWithValue("@description", myOffer.description); gen.sqlCommand.Parameters.AddWithValue("@postedStatus", "Pending"); // Any new offer is pending in the beginning if (gen.sqlCommand.ExecuteNonQuery() > 0) { return(true); } } } } catch (SqlException ex) { return(false); } catch (Exception ex) { return(false); } return(false); }